播放运行服务器 url 音频的媒体播放器时 UI 更改停止
Posted
技术标签:
【中文标题】播放运行服务器 url 音频的媒体播放器时 UI 更改停止【英文标题】:Ui change stopped when playing media player running server url audio 【发布时间】:2013-06-21 09:54:17 【问题描述】:我正在运行一个应用程序,我需要在其中播放存储在 URL 中某处的音频。
在播放网址之前,我想将播放按钮的图像更改为暂停。
我很难在参考中做。
在播放 URL 上的音频后 UI 会发生变化,播放服务器 URL 需要 5-10 秒。如何在播放音频之前更改按钮的图像。
谁能解释一下为什么会发生这种情况以及可能的解决方案是什么。
请查看我的代码:-
((Button)v).setBackgroundResource(R.drawable.pause);
PlayPauseBtn.setId(1);
Toast.makeText(RadioActivity.this, "Loading...", Toast.LENGTH_LONG).show();
MediaController.mediaPlayStart(R.raw.acoustic_loop_bgm,
RadioActivity.this.getApplicationContext());
public static void mediaPlayStart(int resourcesId,final Context m_Context)
try
mp = new MediaPlayer();
mp.setDataSource(m_Context, Uri.parse(Contants.audioURL));
mp.prepare();
mp.setAudiostreamType(AudioManager.STREAM_MUSIC);
mp.setLooping(true);
try
mp.start();
catch (Exception e)
// TODO: handle exception
catch (Exception e)
// TODO: handle exception
System.out.println("#####THE EXCEPTION IN THE MEDIA PLAYER PLAY==="+e.getMessage());
下面是我在播放声音之前的 logcat。
06-21 17:15:17.661: W/KeyCharacterMap(1005): No keyboard for id 0
06-21 17:15:17.661:W/KeyCharacterMap(1005):使用默认键盘映射:/system/usr/keychars/qwerty.kcm.bin 06-21 17:15:21.910: I/System.out(1005): 00000000000000 06-21 17:15:21.910: I/System.out(1005): 2222222222 06-21 17:15:22.080: D/dalvikvm(1005): GC_FOR_MALLOC 在 65 毫秒内释放了 3592 个对象/199296 个字节 06-21 17:15:26.140: D/MediaPlayer(1005): 无法在客户端打开文件,正在尝试服务器端
【问题讨论】:
【参考方案1】:可能是因为你在使用
mediaPlayer.prepare();
你最好使用异步方法:
mediaPlayer.asyncPrepare();
这不会冻结您的应用程序,并且您的图标将立即更改。
编辑:
mp.setDataSource(url);
mp.setOnPreparedListener(this);
mp.prepareAsync();
public void onPrepared(MediaPlayer player)
mp.start();
【讨论】:
Ui chnaged 成功但是现在它不工作没有音频播放。 请在您的第一篇文章中发布整个日志。 请在我的 logcat 播放声音之前检查它。 尝试像这样设置 mediaplyer 的开始:mp.setDataSource(url); mp.setOnPreparedListener(this); mp.prepareAsync(); public void onPrepared(MediaPlayer player) mp.start();以上是关于播放运行服务器 url 音频的媒体播放器时 UI 更改停止的主要内容,如果未能解决你的问题,请参考以下文章