簡體   English   中英

如何使用setVideoURI從外部設備流式傳輸來自android videoview的幀?

[英]how to get frame from android videoview with setVideoURI streaming from external device?

我正在制作和Android應用程序,從外部源流式傳輸視頻,並在我的活動視頻中顯示它。 流工作正常,但我無法在我的SD卡上保存幀。 這是我的代碼,其中vv是videoview:

int currentPosition = vv.getCurrentPosition(); //in millisecond

        MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
        mediaMetadataRetriever.setDataSource(viewSource);

        Bitmap bmFrame = mediaMetadataRetriever.getFrameAtTime(currentPosition * 1000); //unit in microsecond

        if(bmFrame == null){
             Toast.makeText(MainActivity.this, 
               "bmFrame == null!", 
               Toast.LENGTH_LONG).show();
            }else{
             AlertDialog.Builder myCaptureDialog = 
               new AlertDialog.Builder(MainActivity.this);
             ImageView capturedImageView = new ImageView(MainActivity.this);
             capturedImageView.setImageBitmap(bmFrame);
             LayoutParams capturedImageViewLayoutParams = 
               new LayoutParams(LayoutParams.WRAP_CONTENT, 
                 LayoutParams.WRAP_CONTENT);
             capturedImageView.setLayoutParams(capturedImageViewLayoutParams);

             myCaptureDialog.setView(capturedImageView);
             myCaptureDialog.show();

這是我的視頻測試網址:

public String viewSource = "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov";

我嘗試為mediametadataretriver的'setdatasource'設置viewSourc,就像我的視頻的url一樣,但它總是返回null位圖...

問題出在哪兒?

謝謝

這個類有很多問題,我認為其中一個是從外部源檢索的幀。 我建議你使用這個外部庫 您只需將其添加到項目中,然后像使用mediametadataretriever類一樣使用該類。

希望它有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM