[英]MediaPlayer() audio stuttering(android)
我在我的Android應用程序中使用MediaPlayer功能從遠程服務器流式傳輸實時音頻流。 但音頻不穩定且口吃。 問題不在於我的互聯網,因為當我在計算機上播放時,Feed會完美播放。 可能是什么問題?*注意:流是實時的。 這是我正在使用的代碼:
MediaPlayer mp = new MediaPlayer();
try{
mp.setDataSource("http://radiotool:80/feed 342.mp3");//hardcoded for testing purposes
mp.prepare();
mp.start();
}
catch(Exception e)
{Log.d("Error came up man",", check the internet connection and stuff..");
您鏈接到的流不是在流的開頭發送大的數據緩沖區。 通常這不是問題,因為客戶端負責確定回放速率,觀察數據傳輸速率以及相應地管理客戶端緩沖區。 這就是為什么當我給你一個嘗試使用大緩沖區的鏈接時,這不是一個問題。
基本上,音頻丟失是由於恆定的緩沖區欠載。 要解決此問題,您需要增加緩沖區大小。 現在看來這是不可能的,但另一種方法可能是自己管理HTTP客戶端並將數據代理到MediaPlayer 。 這個鏈接很老了......希望有人從那時起就想出了如何以另一種方式做到這一點。 我不是Android開發人員,所以我無法肯定地告訴你。
我首先要做的是調用mp.prepareAsync()
,並在MediaPlayer告訴你它已准備好啟動后等待2秒。 我有預感,數據將繼續在后台緩沖,直到您實際調用.start()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.