【问题标题】:How to find out whether audio playing is media or voice?如何判断音频播放是媒体还是语音?
【发布时间】:2014-01-08 09:30:37
【问题描述】:

我正在开发一个将音频路由到扬声器/有线耳机的 Android 应用程序。鉴于正在播放一些音频,是否可以以编程方式检测播放的音频是歌曲(媒体剪辑)还是来自已建立呼叫的语音,使用 java?

编辑:我意识到我可以轻松解决我的问题,因为当我接听或拨打电话时,只能听到语音音频。是否有任何功能可以确定我是否正在通话?

【问题讨论】:

  • 如果您正在录制通话并且如果您想区分它们,那么使用保存的文件扩展名很容易识别
  • No No.. 我正在听歌或正在接听电话。现在是否可以通过编程方式确定我听到的声音是歌曲还是通话中的声音?
  • 请检查我的编辑。

标签: android media-player voice soundpool android-audiomanager


【解决方案1】:

试试这个功能:

public boolean isOnCall(Context context){
   AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
   if(manager.getMode()==AudioManager.MODE_IN_CALL){
       return true;
   }
   else{
       return false;
   }
}

也在清单中添加权限。

<uses-permission android:name="android.permission.READ_PHONE_STATE" />  

希望这会有所帮助。

【讨论】:

  • 优秀。感谢您提供简单的解决方案。 :)
  • 不错的解决方案,但如何更改模式?我尝试了不同的解决方案,但没有奏效
猜你喜欢
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多