android - 如何知道android中的音频何时开始播放

标签 android media-player audio-player android-music-player

在我的应用程序中,我想获取用户启动时音乐播放器的开始时间和停止时的结束时间。我不想在我的应用程序中启动任何音乐播放器。我只想跟踪设备中的用户 Activity 。所以我希望我的应用程序在用户开始播放音乐时收到任何通知。

我是否对音乐播放器启动和停止有任何 Intent 。或者当用户打开音乐文件时我是否有任何 Intent 。

除了 Intent 捕获开始时间和用户启动音乐播放器的时间之外,是否还有其他方法。

最佳答案

那么你可以实现接口(interface) 'AudioManager.OnAudioFocusChangeListener'其中有一个方法“onAudioFocusChange”,它可以让您知道音频焦点是否已更改,并且还可以判断焦点是否获得或丢失。

参见this链接,它详细解释了音频焦点。应用程序必须通过请求获得音频焦点,您可以实现“AudioManager.OnAudioFocusChangeListener”,如果有focus gain ,您可以检测媒体播放器是否正在运行(因为某些其他应用程序(例如 youtube)可能会获得焦点来播放其音频),请参阅 this查看如何检测当前正在运行的应用程序或服务。您可以查看音频是否已开始播放,以及是否是媒体播放器。

希望这有帮助。这是一个有趣的问题,我在寻找答案的过程中学到了一些新东西!

关于android - 如何知道android中的音频何时开始播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10783031/

相关文章:

android - java.lang.Exception : Failed resolving method startActivityForResult on class android. 应用程序 Activity

c# - 如何与另一个框架中的属性进行交互? (C#/WPF)

python - 音乐播放器播放列表

c# - 一次播放多个声音文件

android - 删除 SeekBar 中的顶部和底部填充

android - BroadcastReceiver onReceive 注册时触发

android - 在 Android 中选择选项卡时如何关闭 TabWidget

android - 错误的状态类,期望查看状态但是

c# - ffmpeginterop.uwp 库给出未注册错误

java - 如何在MediaPlayer服务中淡入和淡出音乐