gpt4 book ai didi

android - 在 android 中流式传输和播放 .m4a 流(Itunes 预览 Url)

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:46 25 4
gpt4 key购买 nike

我想像 http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a 这样的流式传输和播放 iTunes 预览 URL .我尝试使用 AAC Decoder Android图书馆。通过它我可以流式传输和播放 AAC 流 url,如 http://http.yourmuze.com:8000/play/paradise/l.aac .但它没有流式传输 m4a url(Logcat 说 java.io.FileNotFoundException:http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p。 m4a).

我如何流式传输 .m4a 链接?

我的代码:

public class AACPlayerActivity extends Activity implements OnClickListener,PlayerCallback{

private Button btnPlay;
private ProgressBar progress;
private Handler uiHandler;

private MultiPlayer multiPlayer;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

btnPlay = (Button)findViewById(R.id.playButton);
progress = (ProgressBar)findViewById(R.id.progress);
progress.setVisibility(View.INVISIBLE);

btnPlay.setOnClickListener(this);

uiHandler = new Handler();
}

public void playerException(Throwable arg0) {
// TODO Auto-generated method stub

}

public void playerMetadata(String arg0, String arg1) {
// TODO Auto-generated method stub

}

public void playerPCMFeedBuffer(boolean arg0, final int audioBufferSizeMs, final int audioBufferCapacityMs) {
// TODO Auto-generated method stub
uiHandler.post(new Runnable() {

public void run() {
// TODO Auto-generated method stub
progress.setProgress( audioBufferSizeMs * progress.getMax() / audioBufferCapacityMs );
}
});
}

public void playerStarted() {

uiHandler.post(new Runnable() {

public void run() {
// TODO Auto-generated method stub
progress.setProgress( 0 );
progress.setVisibility( View.VISIBLE );
}
});

}

public void playerStopped(int arg0) {
// TODO Auto-generated method stub
uiHandler.post(new Runnable() {

public void run() {
// TODO Auto-generated method stub
progress.setVisibility( View.INVISIBLE );
}
});

}

public void onClick(View v) {
// TODO Auto-generated method stub
if(btnPlay.getText().equals("Play")){
start();
btnPlay.setText("stop");
}else{
stop();
}
}


private void start() {
stop();
// we cannot do it in playerStarted() - it is too late:
multiPlayer = new MultiPlayer(this,MultiPlayer.DEFAULT_AUDIO_BUFFER_CAPACITY_MS, MultiPlayer.DEFAULT_DECODE_BUFFER_CAPACITY_MS);
multiPlayer.playAsync("http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a");
}


private void stop() {
if (multiPlayer != null) {
multiPlayer.stop();
multiPlayer = null;
}
}

更新

  1. 我尝试使用 ServeStream它说 url 无法打开。
  2. 我尝试使用 Vitamio SDK它也无法播放 itunes 预览 Urls

是否可以在 android 中播放 itunes 预览 url

最佳答案

看看ServeStream :

HTTP media server browser and stream player for Android.

Features:

  • Supports Android 2.2+, 3.0+ (No support for < 2.2)
  • Plays Android supported media files
  • Additional support for m3u, m3u8, pls and asx playlists
  • Supports multitasking/playing audio in the background
  • Repeat and shuffle modes
  • Alarm clock support
  • Home screen widget
  • Utilizes HTML parsing to allow navigation of HTTP media servers that serve HTML pages

关于android - 在 android 中流式传输和播放 .m4a 流(Itunes 预览 Url),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com