如何以编程方式播放 Android NFC 通知声音?
Posted
技术标签:
【中文标题】如何以编程方式播放 Android NFC 通知声音?【英文标题】:How do I programmatically play the Android NFC notification sound? 【发布时间】:2015-05-29 12:57:15 【问题描述】:我有一个应用程序 (NFC Sniffer),它允许用户读取 NFC 标签。当用户尝试读取标签时,会发生 3 件事中的 1 件事:
-
没什么,标签距离不够近
检测到 NFC,但读卡失败,此时会播放通知音。
读取标签,在这种情况下播放不同的通知声音。
许多新用户对这些通知声音感到困惑。我希望我的程序有一个帮助屏幕,带有播放这两种声音的按钮。
但是如何从我的代码中定位和播放这两个通知呢?
【问题讨论】:
【参考方案1】:您可以从 AOSP 项目的来源中获取这些声音,并将它们包含在您自己的应用中。声音是 NFC 系统服务应用程序的一部分:
https://android.googlesource.com/platform/packages/apps/Nfc/+/master/res/raw/
顺便说一句。从 Android 4.4 开始,您可以在 Activity 处于前台时禁用声音,方法是使用带有标志 NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS
的 reader mode API。
【讨论】:
谢谢,这正是我所需要的。然后我使用 SoundPool 播放这些声音。 遗憾的是,我后来遇到了使用不同声音的手机。所以声音可能会因硬件而异。 非常感谢您提供有关现有声音的信息。有趣的是,我当前的阅读在收到“标签丢失”错误时,不会播放上述“错误”声音。至少现在有了阅读器 API,我可以手动播放。以上是关于如何以编程方式播放 Android NFC 通知声音?的主要内容,如果未能解决你的问题,请参考以下文章