我已经使用AVPlayer实现了音频播放,播放了一个远程mp3网址.
我想使用该MPNowPlayingInfoCenter nowPlayingInfo方法显示有关当前播放音频的信息.
当我锁定屏幕时,我确实看到了我设置的图像和标题,所以我知道这种方法是以某种方式注册信息,但是当我将AirPlay切换到AppleTV时,显示器看起来像一个通用的视频输出,底部的进度条,但正确显示已用时间和持续时间.
如果我设置相同nowPlayingInfo,但然后使用AudioQueue启动一些音频,那么它会在屏幕的一半上正确显示图像(它看起来就像播放iPod /音乐应用程序的播客一样).
这仅仅是使用AVPlayer对AirPlay支持音频的限制,还是有一些方法可以让它正确显示图像和信息?
Apple已在iOS 10中弃用了init(image:)方法MPMediaItemArtwork.新的替代方案是什么.
该类显示接口显示以下方法,以便在新的OS版本中可用
public init(boundsSize: CGSize, requestHandler: @escaping (CGSize) -> UIImage)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用它?
问题2,上一个问题的一部分:现在使用MPNowPlayingInfoCenter模拟器中的工作显示锁屏和控制中心的元数据吗?
我有mp3存储在iPhone上的文件,我的应用程序应该能够读取ID3信息,即以秒为单位的长度,艺术家等.有没有人知道如何在Objective-C中使用或使用哪些库?
非常感谢您的想法.
我正在制作一个可以播放音乐的应用.我正在尝试在锁定屏幕上显示元数据(标题,艺术家和艺术作品图像).
MPNowPlayingInfoCenter似乎很好用MediaPlayer.framework,但我无法想象它可以AVPlayer在iOS 7上运行.
该播放器在后台模式下运行良好感谢AVAudioSession:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:&error];
[session setActive:YES error:&error];
Run Code Online (Sandbox Code Playgroud)
这是我在锁屏上显示元数据的代码(不起作用):
Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
if (playingInfoCenter)
{
NSDictionary *nowPlaying = @{MPMediaItemPropertyArtist: currentTrack.artist,
MPMediaItemPropertyAlbumTitle: currentTrack.title};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:nowPlaying];
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激 !
谢谢你读这个:)
我似乎无法让iOS在远程音频控件中显示正确的播放/暂停按钮.我确实收到了远程控制事件并设置了nowPlayingInfo字典的所有值.
一切正常,我甚至在锁屏上看到封面照片.暂停/播放按钮除外.即使我AVAudioPlayer在玩,它总是看起来像是暂停.无论播放状态如何,它都会发送暂停事件.
如何通知iOS AVAudioPlayer已暂停,现在应该在遥控器按钮栏中显示播放按钮?
播放音乐时,音乐标题会显示在锁定屏幕中的时间下方.
我还看到了TuneIn无线电是如何通过显示当前正在播放的广播电台的名称来实现的.
你是怎样做的?
我的应用程序不支持回到以前的曲目,我想知道我是否可以告诉锁屏音乐控件隐藏他们的倒带/上一个曲目按钮.我使用它MPNowPlayingInfoCenter将该信息传递给锁定屏幕.
很简单的问题,可以吗?例如,仅显示"播放/暂停"和"向前跳转"?
我的MPNowPlayingInfoCenter已启动并运行,但仍存在一个问题.无论我的实际玩家状态如何,MPNowPlayingInfoCenter始终"正在播放"并显示暂停按钮.按下时会触发暂停事件.
当我的播放器改变状态,例如暂停时,我通过MPNowPlayingInfoPropertyPlaybackRate键更新MPNowPlayingInfoCenter.
有没有其他方法可以将MPNowPlayingInfoCenter状态设置为暂停?
任何提示赞赏!
我AVPlayer在我的 iOS 应用程序中使用 an来播放音频(因为我正在播放的音频文件不是本地的),当我的曲目完成时,我想隐藏信息中心控件,但出现此错误:
AVAudioSession.mm:1079:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
然而,我暂停了我的前任AVPlayer。
这是我的代码:
player.pause()
player.replaceCurrentItem(with: nil)
MPNowPlayingInfoCenter.default().nowPlayingInfo = nil
try? audioSession.setActive(false, options: .notifyOthersOnDeactivation)
Run Code Online (Sandbox Code Playgroud)
由于此错误,本机控件仍然可见,但不再起作用。
ios ×9
audio ×3
avplayer ×3
objective-c ×3
iphone ×2
swift ×2
airplay ×1
alpha ×1
core-audio ×1
ios10 ×1
ios7 ×1
lockscreen ×1
metadata ×1
xcode ×1