gpt4 book ai didi

使用蓝牙控制 iOS AVPlayer

转载 作者:行者123 更新时间:2023-11-29 03:47:51 24 4
gpt4 key购买 nike

我正在使用 AVPlayer 开发音乐播放器应用程序。

现在我有需求,我想用蓝牙设备控制我的播放器进行播放、暂停、下一首和后退等操作。

请指导我,有哪些可能的解决方案。

最佳答案

要控制远程事件,播放/控制音频的 viewController 必须是第一响应者,因此将其添加到 viewDidAppear

- (void)viewDidAppear:(BOOL)animated
{

[super viewDidAppear:animated];
//Make sure the system follows our playback status
[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}

然后您需要控制事件,因此添加此代码,但添加到同一个 viewController 中,尽管有讨论最佳位置是 AppDelegate,但这只是让您开始:

- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
//if it is a remote control event handle it correctly
if (event.type == UIEventTypeRemoteControl) {
if (event.subtype == UIEventSubtypeRemoteControlPlay) {
[self play];
} else if (event.subtype == UIEventSubtypeRemoteControlPause) {
[self pause];
} else if (event.subtype == UIEventSubtypeRemoteControlTogglePlayPause) {
[self togglePlayPause];
} else if (event.subtype == UIEventSubtypeRemoteControlNextTrack) {
[self next];
}
} else if (event.subtype == UIEventSubtypeRemoteControlPreviousTrack) {

[self previous];
}
}

因此,播放暂停等方法与您用于控制 viewController 上的音频的方法相同,现在,只有当控制音频的 VC 可见时,这才起作用。解决这个问题的一个选项是拥有一个共享实例 mediaQueue/playerController,或者在 AppDelegate 甚至 UIWindow 的子类中执行此操作。但这应该可以帮助您入门并希望它有所帮助......如果您有任何问题请告诉我

关于使用蓝牙控制 iOS AVPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17482608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com