打HTTP實時流(M3U8)文件時,當我嘗試播放HLS M3U8文件(http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8)上黑屏華碩padfone(http://www.asus.com/Mobile/PadFone/),它顯示了一個沒有視頻和音頻的黑屏。 logcat中沒有錯誤報告。華碩Padfone顯示使用的是Android VideoView
安裝在華碩Padfone操作系統的Android 4.0.3。
我使用的是可以在其他Android手機一樣Sansumg銀河S2完美運行的代碼。華碩padfone是否缺少用於解碼m3u8流媒體的HLS解碼器?其他文件,如3gp,mp4工作正常。 任何建議,將不勝感激!
代碼:
package com.videoview;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class videoview extends Activity {
/**
* TODO: Set the path variable to a streaming video URL or a local media
* file path.
*/
private String path = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8";
// private String path = "http://www.pocketjourney.com/downloads/pj/video/famous.3gp";
private VideoView mVideoView;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
try {
setContentView(R.layout.videoview);
mVideoView = (VideoView) findViewById(R.id.surface_view);
// mVideoView.setVideoPath(path);
mVideoView.setVideoURI(Uri.parse(path));
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
mVideoView.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
XML佈局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<VideoView
android:id="@+id/surface_view"
android:layout_height="fill_parent" android:layout_width="fill_parent"/>
</LinearLayout>
非常感謝您的回覆。我嘗試了一些基於第三方ffmpeg庫的其他玩家(例如:VPlayer和VLC Android玩家)。他們可以正常工作。但是,我希望使用Android本機組件(如VideoView),並且解碼器本地存在於Http Live Streaming文檔中的Padfone.Base中(https://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/) streamingmediaguide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html)看來,我們需要Padfone中不存在的MPEG-2編解碼器嗎? – 2012-07-14 13:58:05