android - 应用程序加载后立即启动音频 Android 应用程序

标签 android audio soundpool

我正在制作游戏,游戏中有一些音频 fragment 。我正在使用音频池并且我只使用了 2 个音频剪辑。都是mp3格式,一个是700kb,一个是800字节。

我正在尝试在首次加载游戏时播放 700kb 的音频剪辑。只要应用程序打开,它就会一直循环播放的背景声音。但是我尝试过的一切都失败了。我能够让它工作的唯一方法是在启动时启动一个线程并让线程休眠 15 秒。之后它会调用开始音频并开始播放,但如果线程被破坏,它会随之终止声音。

我假设音频可能正在缓冲,这就是它在开始时不播放的原因?另外,您是否必须从线程中进行所有音频调用?

最佳答案

我刚刚在 Activity onCreate() 方法中使用了这段代码,它工作正常:

public class LaunchActivity extends Activity {
       private MediaPlayer mp;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.whatever);

        setVolumeControlStream(AudioManager.STREAM_MUSIC); 
        mp = MediaPlayer.create(this, R.raw.a);
        mp.start();

    }

如果此实例没有停止指令,它将继续播放应用程序中的所有 Activity ,如果您退出应用程序,它仍会播放,当您回来时,新实例将开始播放旧实例同一时间!媒体播放器是它自己的进程,所以我认为不需要另一个线程。

您确定您的 MP3 文件没有问题并导致系统出现问题吗?

关于android - 应用程序加载后立即启动音频 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634217/

相关文章:

android - 我收到此错误。DraggableGridView 无法实例化

algorithm - 如何可视化音频数据?

android - 音频音调和速度修改

java - Android MediaPlayer setNextMediaPlayer() 替代方案

android - 片刻后按钮声音停止

inner-classes - Android 中的两个 onCreate() 方法?

EditText 中的 Android 标签或气泡

android - 每次在android studio中运行程序时,模拟器都会自动重启

java - 线圈图像加载器 : Cache Bitmap with a key

android - Android-在没有Maven的情况下安装Mp4Parser