gpt4 book ai didi

ios - 我怎么知道用户点击了 iPhone 播放控件上的快进和快退按钮

转载 作者:可可西里 更新时间:2023-11-01 03:30:56 24 4
gpt4 key购买 nike

我想实现下面的东西,

  1. 应用正在后台播放音乐或视频(使用 MPMoviePlayerController)。
  2. 用户双击主页按钮并转到显示播放控件(快退、播放或暂停、快进按钮)的第一个屏幕
  3. 用户点击快退或快进按钮。然后应用播放上一个或下一个音乐或视频。

对于第 3 步,我应该知道点击了哪个按钮。(我自然知道,当前播放的项目已暂停、停止......使用 MPMoviePlayerPlaybackStateDidChangeNotification 通知)。

我应该注册哪个通知?或者还有其他方法吗?

最佳答案

我自己得到了答案。

那是使用 UIApplication 的 beginReceivingRemoteControlEvents。

在合适的地方(比如viewWillAppear:)放置下面的代码

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

并且 View Controller 应该实现以下返回 YES 的方法

- (BOOL)canBecomeFirstResponder {
return YES;
}

然后您可以通过以下方法接收 Remote 事件。

- (void)remoteControlReceivedWithEvent:(UIEvent *)event {

if( event.type == UIEventTypeRemoteControl ) {
NSLog(@"sub type: %d", event.subtype);
}
}

event.subtype如下,

typedef enum {
// available in iPhone OS 3.0
UIEventSubtypeNone = 0,

// for UIEventTypeMotion, available in iPhone OS 3.0
UIEventSubtypeMotionShake = 1,

// for UIEventTypeRemoteControl, available in iPhone OS 4.0
UIEventSubtypeRemoteControlPlay = 100,
UIEventSubtypeRemoteControlPause = 101,
UIEventSubtypeRemoteControlStop = 102,
UIEventSubtypeRemoteControlTogglePlayPause = 103,
UIEventSubtypeRemoteControlNextTrack = 104,
UIEventSubtypeRemoteControlPreviousTrack = 105,
UIEventSubtypeRemoteControlBeginSeekingBackward = 106,
UIEventSubtypeRemoteControlEndSeekingBackward = 107,
UIEventSubtypeRemoteControlBeginSeekingForward = 108,
UIEventSubtypeRemoteControlEndSeekingForward = 109,
} UIEventSubtype;

关于ios - 我怎么知道用户点击了 iPhone 播放控件上的快进和快退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3593683/

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