我有一个iOS应用程序,使用AVAudioSession流式传输背景音频.它工作正常,但我很好奇,有没有办法改变锁屏音频控件上的文字?现在它只显示我的应用程序的名称,但我想将其更改为轨道的名称.
此外,多任务栏在控件下没有文字 - 有没有办法在那里添加曲目名称,就像iPod应用程序一样?
我已经使用AVPlayer实现了音频播放,播放了一个远程mp3网址.
我想使用该MPNowPlayingInfoCenter nowPlayingInfo方法显示有关当前播放音频的信息.
当我锁定屏幕时,我确实看到了我设置的图像和标题,所以我知道这种方法是以某种方式注册信息,但是当我将AirPlay切换到AppleTV时,显示器看起来像一个通用的视频输出,底部的进度条,但正确显示已用时间和持续时间.
如果我设置相同nowPlayingInfo,但然后使用AudioQueue启动一些音频,那么它会在屏幕的一半上正确显示图像(它看起来就像播放iPod /音乐应用程序的播客一样).
这仅仅是使用AVPlayer对AirPlay支持音频的限制,还是有一些方法可以让它正确显示图像和信息?
我成功启用了我的应用程序,以便在屏幕锁定后能够在后台播放音频和视频.但是,为了获得更好的用户体验,我想在锁定的屏幕上显示正在运行的媒体的播放和暂停控制.在线关注几个博客后,添加了以下代码:
@interface MyControllerClass () <UIGestureRecognizerDelegate, UIApplicationDelegate>
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:url options:nil];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset];
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
NSError *activationError = nil;
BOOL success = [[AVAudioSession sharedInstance] setActive: YES error: &activationError];
}
- (void)viewWillDisappear:(BOOL)animated {
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
- (BOOL) canBecomeFirstResponder {
return YES;
}
- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {
NSLog(@"received event %@",receivedEvent);
if (receivedEvent.type == …Run Code Online (Sandbox Code Playgroud)