我想在iOS(iphone)上更改设备音量.
我知道我可以通过以下这些方式改变音乐库的音量:
//implement at first MediaPlayer framework
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
musicPlayer.volume = 1;
Run Code Online (Sandbox Code Playgroud)
但这不是我的目标.
我想更改设备音量或者让我说一下铃声的音量.
我怎样才能做到这一点?只是更改DEVICE卷?
在iOS上,我们可以使用MPVolumeView来更改系统音量,但它在tvOS上不可用.
是否有任何API可以让我们更改tvOS的系统音量?
以前,我使用这种方法以编程方式设置音量:
MPVolumeView *volumeView = [[MPVolumeView alloc] init];
UISlider *volumeViewSlider = nil;
for (UIView *view in [volumeView subviews])
{
if ([view.class.description isEqualToString:@"MPVolumeSlider"])
{
volumeViewSlider = (UISlider *)view;
break;
}
}
[volumeViewSlider setValue:0.5 animated:YES];
[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)
直到iOS 11.4它运行良好(即使在iOS 11.3上),但在iOS 11.4上却没有.体积值保持不变.有人可以帮助解决这个问题吗?谢谢.
我正在尝试创建一个警报应用程序,我注意到Sleep Cycle之类的应用程序会在警报响起之前将音量设置为最大,即使音量非常低.
我尝试过使用AVAudioPlayer,我在MPVolumeView上看到的只是用户必须这样做.有没有办法在没有用户必须的情况下将其打开?
谢谢您的帮助.
如果我可以请快速获取代码
我已经构建了一个计时器应用程序,我遇到的一个问题是当它背景时,如果用户关闭音量,我无法响铃.关闭音量或声音也会使通知静音,这是我用于在后台响铃的方法.
我刚买了一块瓷砖,发现它可以在静音时给你的手机打电话.我已经测试了它,它可以在iOS 9中运行,但我不确定如何复制这种行为.
iPhone如何在静音模式下响铃?后台刷新?动议和活动?别的什么?
现有技术:
好的,
这将获得系统音量,效果很好。
var volume = AVAudioSession.sharedInstance().outputVolume
print("output volume: \(volume)")
Run Code Online (Sandbox Code Playgroud)
但是我该如何设置系统音量 [在 Swift 中] 请
我有以下代码:
void Update(){
GetComponent<UnityEngine.UI.Text> ().text = AudioListener.volume.ToString();
}
Run Code Online (Sandbox Code Playgroud)
推送到我的 Android 设备后,当我按下 Android 的物理音量按钮时,它总是显示“1”。所以它没有检测手机的实际音量。可以查看手机当前音量吗?
我正在使用 Google Cardboard SDK。也许这很重要,因为它同时使用多个摄像机。也许与权限有关?
我们的应用程序能够在wifi扬声器上播放音乐.该应用程序的一个功能是通过按下音量+ /音量 - iPhone上的硬键来改变扬声器的音量.
这背后的逻辑是获取系统的音量值并将其发送给扬声器.
但是,问题是此功能会影响系统音量.在应用程序内部按音量键时是否还要避免调整系统音量?
这是我用来获取每台印刷机系统卷的代码:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqual:@"outputVolume"])
{
CGFloat phoneVolume = [[AVAudioSession sharedInstance] outputVolume];
NSInteger volume = 100 * phoneVolume;
[self onHardKeyVolumeChange:volume];
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
ios ×6
iphone ×4
mpvolumeview ×3
objective-c ×3
volume ×3
swift ×2
audio ×1
device ×1
permissions ×1
tvos ×1
uikit ×1