閱讀793 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Android多媒體--網絡文件播放

網絡文件就是指放在網絡上的文件,也可能是流媒體等網絡資源。由於這種方式不用存儲比較方便,但它的弊端就是要通過網絡,速度要比上兩種方式差,因此一般網絡播放方式要采用異步預處理方式。還有網絡流量費用也會增加用戶的使用成本。下麵看看播放網絡音頻文件的代碼請參考代碼清單12-3,完整代碼請參考Chapter12_3工程中AudioPlayer代碼部分。
【代碼清單12-3】
private void play() {
try {
if (mMediaPlayer == null || state == STOP) {
// 創建MediaPlayer對象並設置Listener
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnPreparedListener(preListener);
} else {
// 複用MediaPlayer對象
mMediaPlayer.reset();
}
// 播放網絡媒體最好不要調用prepare()方法
mMediaPlayer
.setDataSource("https://www.51work6.com/android_book/audio/ma_mma.mp3");
mMediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
}
網絡文件和本地文件其實可以采用相同播放方式,當時由於考慮網絡速度的影響,網絡播放一般采用異步預處理方法prepareAsync(),同步預處理方法prepare()也是可以播放網絡文件的,但是用戶體驗不好。流程如圖12-8所示。



圖12-8播放流程
播放網絡音頻文件不需要向其它的網絡應用程序需要在AndroidManifest.xml文件中打開<uses-permission android:name="android.permission.INTERNET"></uses-permission>權限。
                                                                出自《Android開發案例驅動教程》

最後更新:2017-04-02 06:51:43

  上一篇:go android 開發工具之Monkey
  下一篇:go 將天文數字轉換成中文大寫