Android 智能手机中未播放音频流
我正在尝试构建一个android应用程序来播放在线广播。代码在emulator中正常工作。但当安装在手机上时,它就不能工作了Android 智能手机中未播放音频流,android,html,audio,streaming,audio-streaming,Android,Html,Audio,Streaming,Audio Streaming,我正在尝试构建一个android应用程序来播放在线广播。代码在emulator中正常工作。但当安装在手机上时,它就不能工作了 MediaPlayer mediaPlayer = new MediaPlayer(); String url = "http://5293.live.streamtheworld.com:3690/JACK2_LOWAAC_SC"; mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlaye
MediaPlayer mediaPlayer = new MediaPlayer();
String url = "http://5293.live.streamtheworld.com:3690/JACK2_LOWAAC_SC";
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
链接格式有问题吗?我试着在html5中播放同一个链接,它在桌面上运行良好,但在手机中打开同一个网站时,该链接不起作用。html5中是否有任何问题或组件在智能手机中不起作用,而在桌面上不起作用?
我需要播放实时流,而不是像mp3那样的静态文件。您可以从www.listenlive.eu/uk.html获取一些URL并尝试播放。我的代码中的URL仅用于此网站。下载VLC文件并用任何文本编辑器打开它,您将获得url。使用mediaPlayer.prepareAsync();而不是mediaPlayer.prepare();因为您的流媒体来自web,并且还添加了对internet的权限
<uses-permission android:name="android.permission.INTERNET"/>
不适合我,我用
final String url = "http://vprmix.streamguys.net/vprmix64.mp3";
私有布尔isplay=false
public void streamAudio(String url) {
if (!isPLAYING) {
isPLAYING = true;
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
Log.e("mediaPlayer", "prepare() failed");
}
} else {
isPLAYING = false;
stopPlaying();
}
}
private void stopPlaying() {
mediaPlayer.release();
mediaPlayer = null;
}
谢谢但是我需要播放实时流,而不是像mp3那样的静态文件。你可以采取一些网址形式,并尝试发挥。上述网址是形式这个网站只。下载VLC文件并使用您将获得的任何文本编辑器打开它
public void streamAudio(String url) {
if (!isPLAYING) {
isPLAYING = true;
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
Log.e("mediaPlayer", "prepare() failed");
}
} else {
isPLAYING = false;
stopPlaying();
}
}
private void stopPlaying() {
mediaPlayer.release();
mediaPlayer = null;
}