在股票Droid和Nexus One上,这样的意图:
new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.parse("http://example.com/somemp3.mp3"), "audio/mp3");
工作正常并弹出系统音乐播放器以流式传输文件。但它与HTC Incredible上的任何活动都不匹配,当我在其上调用startActivity
时会导致强制关闭(我猜测是因为在SenseUI的替换应用程序中缺少意图过滤器)。如果我不需要,我不想自己管理MediaPlayer实例;有没有人知道是否有办法构建一个Intent来说服Incredible在其内置音乐或流媒体应用程序中通过HTTP播放MP3流?
答案 0 :(得分:1)
尝试“audio / *”类型。我认为它有效。
答案 1 :(得分:1)
此代码对我有用:
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse(url), "audio/*");
context.startActivity(i);
您还可以使用“video / *”类型查看视频流。
此方法适用于Android 1.5和2.2,不确定SenseUI兼容性。 “audio / mp3”对我来说也不起作用,所以它不是特定于感知的。
答案 2 :(得分:0)
我正在处理类似的问题,当我进入搜索时,我发现这个link可以帮助你从mp3源进行一些流式传输。
希望它有所帮助。
答案 3 :(得分:0)
从服务器播放音频文件试试这个
try {
MediaPlayer player = new MediaPlayer();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setDataSource("http://xty/MRESC/images/test/xy.mp3"
);
player.prepare();
player.start();
} catch (Exception e) {
// TODO: handle exception
}
也在您的清单文件中使用此权限..
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
希望能帮助你
此代码段最初来自here