2012-10-30 139 views
-1

嘗試播放視頻使用媒體播放器,我收到此錯誤:無法創建媒體播放器

Unable to to create media player 
D/MediaPlayer(13157): create failed: 
D/MediaPlayer(13157): java.io.IOException: setDataSourceFD failed.: status=0x80000000 

任何人可以在這裏建議有什麼問題呢?

+0

您提供的無效數據的FileDescriptor? – fiddler

+0

可以請你提供我關於filedescriptor的更多細節......你說這個是什麼意思? – CoDe

+0

請粘貼你用來初始化播放器的代碼 – fiddler

回答

0

@onsurfaceCreate 使用下面的代碼來播放視頻,現在在這裏,我想問題是有點不同,因爲相同的代碼工作低分辨率視頻但對於高分辨率視頻它提示我的錯誤......」

holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
      mediaPlayer = MediaPlayer.create(getApplicationContext(), 
R.raw.livewallpaper);   mediaPlayer.setDisplay(new 
VideoSurfaceHolder(holder)); 

    mediaPlayer.start(); 
1
AssetFileDescriptor afd = this.getAssets().openFd(mediaElementArray.getInteger.valueOf(index))); 

myMediaplayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); 

這一個工程..其實在資產文件夾什麼都你存儲保存爲一個大的壓縮塊,所以你需要指定afd.getStartOffset(),afd.getLength()

也。因爲它會告訴什麼從那裏源烏爾REQ尋找開始和它的長度,這有助於它計算那個大塊中有效的請求文件。

或者其他原因可能是...你引用的文件是不正確的格式或可能已損壞

+0

這種方式也是有用的,因爲從'ZipResourceFile'' getAssetFileDescriptor()'返回後使用APK擴展文件播放視頻'AssetFileDescriptor'。 – Stan