[英]Streaming audio via http
给定一个音频.mp3
文件,如何从该文件创建音频流并将其共享为url "http://..."
。 我实际上已经尝试实现一个Servlet,该Servlet将我的文件提供给MediaPlayer对象,但是似乎在请求Servlet时,宁愿下载文件而不是获取音频流(mediaPlayer的onPrepared
条件永远设置为false尽管该进程一直在运行)。 这是源代码:
button_play.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
try{
mPlayer.reset();
mPlayer.setDataSource("http://localhost:8080/FileServlet/song/sample.mp3");
mPlayer.prepareAsync();
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp){
mp.start();
}
});
} catch (IllegalStateException e) {
System.out.println(e.getMessage());
}
catch (IOException e) {
System.out.println(e.getMessage());
}
catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
catch (SecurityException e) {
System.out.println(e.getMessage());
}
}
});
任何想法请问我该如何实现?
实际上,MediaPlayer对象是决定如何使用“文件”的对象:下载并随后播放它,或者在下载时播放它。
方法1是“安全的”,因为服务器可能会停机,或者某些站点不允许下载时间超过15分钟并尝试断开它们的连接。方法2对速度较慢的互联网提供商不利(您不想每5秒钟听到1秒的音乐流的秒数)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.