gpt4 book ai didi

android - 如何在应用程序中编码音频?

转载 作者:行者123 更新时间:2023-12-03 00:56:00 25 4
gpt4 key购买 nike

一些背景

我制作的应用是间隔应用。这允许用户为两个间隔中的每一个选择时间量。在运行时,该应用会使用两个用户选择的时间设置运行一个倒数计时器。我想为每个间隔播放两首歌曲,但是我无法设置歌曲更改的具体时间,因为用户会更改。因此,如果用户在第一个间隔中只选择4秒,那么我只需要在那段时间播放这首歌,而当倒数计时从另一个间隔开始时,我就需要播放另一首歌。

现在是我真正的问题。

如何 call 音频播放?我已经看了很多问题,但是他们都说我需要将音频播放器投入新的 Activity 吗?如果我将其放在新 Activity 中,它不会停止倒数计时器吗?如何使倒数计时器继续运行?

最佳答案

您可以通过两种方法在android中播放声音,一种是SoundBoard(专为短片而设计,如果要播放歌曲,请勿使用此方法),另一种是MediaPlayer。您可以通过将文件放在原始文件夹中,然后执行以下操作来播放音频:

MediaPlayer mp = MediaPlayer.create(ClassName.this, R.raw.sound); 
mp.start();

然后,当计时器结束时,您可以使用 mp.stop();停止播放歌曲,并可以通过执行以下音频文件播放:
mp.reset();  
mp = MediaPlayer.create(ClassName.this, R.raw.sound2);

完成后,请记住使用 mp.release();释放Mediaplayer。

我希望我理解了您需要做的事情,还应该将Mediaplayer放在一个新的线程中,请参阅官方android开发人员文档:

To avoid hanging your UI thread, spawn another thread to prepare the MediaPlayer and notify the main thread when done. However, while you could write the threading logic yourself, this pattern is so common when using MediaPlayer that the framework supplies a convenient way to accomplish this task by using the prepareAsync() method. This method starts preparing the media in the background and returns immediately. When the media is done preparing, the onPrepared() method of the MediaPlayer.OnPreparedListener, configured through setOnPreparedListener() is called.

关于android - 如何在应用程序中编码音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13685625/

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