首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android的闹钟频道上播放声音

在android的闹钟频道上播放声音
EN

Stack Overflow用户
提问于 2018-06-16 03:37:38
回答 2查看 3.9K关注 0票数 7

我做了很多谷歌搜索,但其他人的解决方案对我不起作用。

我的目标是在闹钟频道上按需播放声音。

(因此,音量由闹钟音量设置调整)

根据这个thread,我构建了以下代码

代码语言:javascript
运行
复制
mediaPlayerScan = MediaPlayer.create(getContext(), R.raw.scan_beep);

if (Build.VERSION.SDK_INT >= 21) {
  mediaPlayerScan.setAudioAttributes(new AudioAttributes.Builder()
          .setUsage(AudioAttributes.USAGE_ALARM)
          .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
          .build());
} else {
  mediaPlayerScan.setAudioStreamType(AudioManager.STREAM_ALARM);
}

它仍然在音乐频道上播放。(即音量是在音乐设置中调整的,而不是闹铃)

我的直觉是我遗漏了一个权限或什么,但我还没有找到这样的权限。

我在Google Pixel 1上测试

谢谢,

内森

编辑:

感谢@jeffery-blattman,下面的代码适合我

代码语言:javascript
运行
复制
mediaPlayerScan = new MediaPlayer();
try {
  mediaPlayerScan.setDataSource(getContext(),
          Uri.parse(getString(R.string.res_path) + R.raw.scan_beep));

  if (Build.VERSION.SDK_INT >= 21) {
    mediaPlayerScan.setAudioAttributes(new AudioAttributes.Builder()
            .setUsage(AudioAttributes.USAGE_ALARM)
            .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
            .build());
  } else {
    mediaPlayerScan.setAudioStreamType(AudioManager.STREAM_ALARM);
  }
  mediaPlayerScan.prepare();
} catch (IOException e) {
  e.printStackTrace();
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50881732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档