簡體   English   中英

是否在API級別低於7的情況下在Android的VideoView中播放資產中的視頻?

[英]Play video from assets in VideoView in Android on API level <7?

我想播放存儲在我的Android應用程序資產文件夾中的視頻。 以下代碼在較新的API級別(在16上測試)上有效(意味着視頻可以播放),但在6級別上無效。

    String FILEPATH = "/data/data/com.example.test1/videoname.flv";    

    //GET VIDEO FROM ASSETS
    try {
        InputStream is = getAssets().open("videoname.flv");

        OutputStream os = new FileOutputStream(FILEPATH);

        byte[] buffer = new byte[50000];
        int bytesRead;

        while((bytesRead = is.read(buffer)) !=-1){
            os.write(buffer, 0, bytesRead);
        }
        is.close();
        os.flush();
        os.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    //SET VIDEO SOURCE AND PLAY VIDEO
    video_player_view = (VideoView) findViewById(R.id.video_view);
    video_player_view.setVideoPath(FILEPATH);
    video_player_view.start();

在API級別6上,出現一條消息:

“抱歉,這部影片無法播放”

如何在非常低的API級別下也從資產文件夾播放視頻?

正如@petey所說,並不需要真正支持API 8以下的任何東西。更大的問題是,FLV本身不受支持,而支持取決於設備和Flash插件的安裝,最安全的選擇是在WebView中播放視頻。

但是,由於Google最近從商店中刪除了Flash插件,並且您只能從Adobe網站手動安裝它,因此您要么需要停止使用FLV,要么在允許的情況下,應該購買一些支持FLV格式的播放器組件,例如Vitamio 。

暫無
暫無

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

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