【问题标题】:Android: How do you play a sound at a volume unaffected by any of the Android system volumes (ringtone, media, etc)?Android:如何以不受任何 Android 系统音量(铃声、媒体等)影响的音量播放声音?
【发布时间】:2011-03-12 01:08:10
【问题描述】:

我想在我的 Android 应用程序中从(铃声)URI 播放声音。但是,我想以任意音量播放此声音,并且不让系统音量(例如媒体和铃声音量)影响播放。

我一直在翻阅 API 文档,但不知所措。这在 Android 上是否可行,如果可以,我该怎么做?

【问题讨论】:

    标签: java android


    【解决方案1】:

    我相信大多数旨在执行此操作的应用程序都会选择一种流类型,存储当前音量级别(使用AudioManager.getStreamVolume),将该音量设置为他们想要的任何值(使用setStreamVolume()getStreamMaxVolume 的某个百分比),然后在播放完成后恢复隐藏的音量。但是在你这样做之前要三思而后行——除非你正在创建一个“寻找我丢失的手机”的应用程序,否则很少有理由忽略用户请求的音量级别,而且你很可能会激怒某人在开会时将手机静音.

    【讨论】:

    • 实际上“查找我的手机”是一个非常相似的用例。我正在编写一个应用程序,即使手机处于“静音”状态,某些紧急呼叫也会以最大音量响起。
    • 您不仅可能通过简单地为您的活动更改它来“冒……激怒某人”,而且如果您搞砸了并且未能重置它,它会保持较高的音量,直到用户离开并修复它,这可能不会让他们高兴。
    猜你喜欢
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多