【发布时间】:2021-08-03 09:53:22
【问题描述】:
我想将音频集成到 carplay 应用程序。 我已经用 CPListItems 创建了一个 CPListTemplate,点击它,我正在推送一个正在播放的模板。 音频似乎没有播放,我无法与正在播放的屏幕互动。
问题:
- 如何将音频 URl 传递给正在播放的模板,以便它至少可以播放声音?
- 如何与播放器交互并在屏幕上显示专辑插图和文字?
注意:我正在模拟器上对此进行测试,并且我有 mp3 格式的音频 URL。
var listItems: [CPListItem] = []
for playListItem in PlayListItems {
let item = CPListItem(text: playListItem.title, detailText: "")
item.handler = {listItem, completion in
let nowPlayingTemplate = CPNowPlayingTemplate.shared
nowPlayingTemplate.add(self)
nowPlayingTemplate.isAlbumArtistButtonEnabled = true
self.interfaceController?.pushTemplate(nowPlayingTemplate, animated: true)
}
listItems.append(item)
}
let sectionPlayList = CPListSection(items: listItems)
self.interfaceController?.pushTemplate(CPListTemplate(title: “Tab 1”, sections: [sectionPlayList]), animated: true)
【问题讨论】:
-
嗨Shashant,你能发布一些你尝试过的代码吗?您的应用是否会在 CarPlay 之外的设备上播放音频并显示图片?
-
嗨,我已经添加了部分实现。 PlaylistItem 对象具有 mp3 格式的音频文件和一些其他详细信息,例如标题和专辑图像。我不确定我们是否必须将音频 url 传递给 nowplaying 对象才能开始播放声音。
-
Truptika 的回答应该有效。请注意,CarPlay 音频模板仅负责您应用的 UI 元素。您需要使用 AVPlayer 或其他音频库来处理播放。
-
是的,肖恩,这行得通。谢谢!