Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 播放运行服务器url音频的媒体播放器时停止Ui更改_Android_Url_Audio_User Interface - Fatal编程技术网

Android 播放运行服务器url音频的媒体播放器时停止Ui更改

Android 播放运行服务器url音频的媒体播放器时停止Ui更改,android,url,audio,user-interface,Android,Url,Audio,User Interface,我正在运行一个应用程序,我需要播放存储在某个URL中的音频 在播放url之前,我想将播放按钮的图像更改为暂停 我很难在参考资料中找到答案 用户界面在URL上播放音频后立即更改,播放服务器URL需要5-10秒。如何在播放音频之前更改按钮的图像 谁能解释一下为什么会发生这种情况,以及可能的解决办法是什么 请查看我的代码:- ((Button)v).setBackgroundResource(R.drawable.pause); PlayPauseBtn.setId(1

我正在运行一个应用程序,我需要播放存储在某个URL中的音频

在播放url之前,我想将播放按钮的图像更改为暂停

我很难在参考资料中找到答案

用户界面在URL上播放音频后立即更改,播放服务器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());
    }
}
下面是我播放声音前的日志

06-21 17:15:17.661: W/KeyCharacterMap(1005): No keyboard for id 0
06-21 17:15:17.661:W/KeyCharacterMap1005:使用默认keymap:/system/usr/keychars/qwerty.kcm.bin 06-21 17:15:21.910:I/System.out1005:00000000000000 06-21 17:15:21.910:I/System.out1005:2222 06-21 17:15:22.080:D/dalvikvm1005:GC_FOR_MALLOC在65毫秒内释放了3592个对象/199296字节
06-21 17:15:26.140:D/MediaPlayer1005:无法在客户端打开文件,正在尝试服务器端

可能是因为您正在使用

mediaPlayer.prepare();
您最好使用异步方法:

mediaPlayer.asyncPrepare();
这不会冻结您的应用程序,您的图标将立即更改

编辑:

mp.setDataSource(url); 
mp.setOnPreparedListener(this);
mp.prepareAsync();

public void onPrepared(MediaPlayer player) {
    mp.start();
}

可能是因为你在使用

mediaPlayer.prepare();
您最好使用异步方法:

mediaPlayer.asyncPrepare();
这不会冻结您的应用程序,您的图标将立即更改

编辑:

mp.setDataSource(url); 
mp.setOnPreparedListener(this);
mp.prepareAsync();

public void onPrepared(MediaPlayer player) {
    mp.start();
}

用户界面已成功设置,但现在无法播放音频。请在第一篇文章中发布整个日志。请在播放声音之前检查我的日志。尝试如下设置媒体层的开始:mp.setDataSourceurl;mp.setOnPreparedListenerthis;mp.prepareAsync;public void onPreparedMediaPlayer{mp.start;}Ui已成功设置,但现在无法工作,无法播放音频。请在第一篇文章中发布整个日志。请在播放声音之前检查我的日志。尝试如下设置MediaPlayer的开始:mp.setDataSourceurl;mp.setOnPreparedListenerthis;mp.prepareAsync;public void onPreparedMediaPlayer玩家{mp.start;}