gpt4 book ai didi

Android - 查找当前是否正在播放音频并停止播放

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:54 24 4
gpt4 key购买 nike

我正在使用 MediaPlayer 实例从 Internet 位置流式传输音频文件。音频播放器处于单独的 Activity 中。用户可以从音频文件列表中选择并来到此 Activity 中播放音频。

现在用户可能会返回到上一个 Activity (带有列表)并选择另一个音频文件。在这种情况下,我想停止正在播放的任何其他音频并开始播放所选的新音频。

有什么方法可以让我知道音频文件是否正在播放而无需保留 MediaPlayer 对象?

谢谢。

编辑

我确实找到了如何知道音频是否正在播放的方法。我们可以通过使用 AudioManager 的对象并调用 isAudioPlaying() 来完成。如果正在播放任何音频,这将返回 true。

现在是另一个问题,如何停止当前播放的音频?我没有为启动音频而创建的 MediaPlayer 对象的实例(因为用户已经离开 Activity 一次并且返回了一个新的 Activity 对象,因此是一个新的 MediaPlayer 实例)

最佳答案

您需要调用 stop()MediaPlayer 实例上。要在您的应用程序中实现此功能,您需要:

  • 在音频播放 Activity 中调用stop()(在onDestroy()中),例如
  • 创建 Service播放音频,并在两个 Activity 中与之交流

使用 Service 将允许您的代码在 Activity 生命周期之外继续运行,并且是像您需要的那样持久化 MediaPlayer 对象的唯一方法这种情况。

或者,您可以创建 Application 的自定义子类并将 MediaPlayer 存储在那里,但使用 Service 被认为是更好的做法。

关于Android - 查找当前是否正在播放音频并停止播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896354/

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