需要帮助使用 javascript(静音/取消静音)控制 ipad 中的音频..任何解决方案或想法都会有所帮助..
4 回答
我希望我们的应用在 iPhone 静音时不播放声音。经过数小时的搜索,我决定尝试使用以下参数并按预期工作:
myMedia.play({ playAudioWhenScreenIsLocked : false });
文档没有说这个参数会在 iPhone 静音时使声音不播放,但它的行为是这样的。
我正在使用 PhoneGap 2.6.0,文档说:
将此选项传递给 play 方法以指定是否要在屏幕锁定时播放媒体文件的音频(如果未设置,则默认为 true)。如果设置为 true,它将忽略硬件静音按钮的状态。
记录不好?
Try this is the OpenSource Library 试试看
phone-gap 是实现此任务的唯一方法,html5 api 都不支持 ipad 静音功能
这是旧的,但是当我们刚刚解决这个问题时,我想我会把它放在这里。
iOS 没有为您提供设置设备音量的明确方法,但有一种方法可以解决这个问题。为了解决这个问题,您可以为您的特定音频流创建一个音频滑块,将其隐藏,然后以编程方式设置滑块的音量。这是为 ios 计算出来的,并在此处解释iOS 7: MPMusicPlayerController volume deprecated。现在如何更改设备音量?
然而,这不是在 javascript 中,我们使用 phonegap,所以我们分叉了 devgeeks 库,以创建一种方法来以编程方式从您的应用程序控制设备的播放音量。这不会为您提供完全静音/取消静音控制,但您至少可以将其设置为 0(静音)或非零音量。我们已经将它移植到 iOS 和 Android,我们的分支可以在这里找到 - https://github.com/shibbs/VolumeSlider我们已经创建了一个拉取请求,但它还没有在主仓库中。
下面是一些显示如何使用该库的代码 -
my_media = new Media(soundFile, onSuccess, onError); //create the media object
my_media.setVolume(1.0); //set your volume to w/e you want, we maxed it
volumeSlider = plugins.volumeSlider; //create the volume slider object
volumeSlider.createVolumeSlider(10,350,300,30); // origin x, origin y, width, height
volumeSlider.setVolumeSlider(1.0); //set your volume slider value to between 0 and 1
volumeSlider.resetVolumeSlider(); //this will reset the device volume to whatever it was set to when you created the volumeSlider.