gpt4 book ai didi

android - 播放运行服务器 url 音频的媒体播放器时,UI 更改停止

转载 作者:行者123 更新时间:2023-11-29 15:22:16 25 4
gpt4 key购买 nike

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

在播放 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());
}
}

下面是我在播放声音之前的日志。

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.bin06-21 17:15:21.910: I/System.out(1005): 0000000000000006-21 17:15:21.910: I/System.out(1005): 222222222206-21 17:15:22.080: D/dalvikvm(1005): GC_FOR_MALLOC 在 65 毫秒内释放了 3592 个对象/199296 字节06-21 17:15:26.140: D/MediaPlayer(1005): 无法在客户端打开文件,正在尝试服务器端

最佳答案

可能是因为你正在使用

mediaPlayer.prepare();

你最好使用异步方法:

mediaPlayer.asyncPrepare();

这不会卡住您的应用程序,您的图标会立即更改。

编辑:

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

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

关于android - 播放运行服务器 url 音频的媒体播放器时,UI 更改停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17232356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com