首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CarPlay上播放视频?

如何在CarPlay上播放视频?
EN

Stack Overflow用户
提问于 2019-07-08 16:18:00
回答 1查看 983关注 0票数 2

我有到视频的网页链接,在iOS中,我可以在AVPlayerViewController/AVPlayer中使用AVFoundation/AVKit框架打开它。

但是我如何在CarPlay中打开它呢?

CarPlay文档的文本:

不能使用媒体播放器框架直接播放视频媒体项目。若要播放包含MPMediaItem对象的视频,请使用来自AVFoundation的AVPlayer对象。系统播放器还提供了一种使用系统应用程序播放视频项目的方法。

代码语言:javascript
复制
extension AppDelegate: CPListTemplateDelegate {
    func listTemplate(_ listTemplate: CPListTemplate, didSelect item: CPListItem, completionHandler: @escaping () -> Void) {
        if let url = item.userInfo as? String {
            self.playVideo(url)
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-02-24 06:42:59

我将分享在carplay上播放一个示例视频所遵循的步骤

在Appdelgate.h中添加以下头文件

代码语言:javascript
复制
import CarPlay
import AVKit

然后添加CPApplicationDelegate

添加这些令人愉快的方法

代码语言:javascript
复制
 // MARK: - CPApplicationDelegate methods
func application(_ application: UIApplication, didConnectCarInterfaceController interfaceController: CPInterfaceController, to window: CPWindow) {
    print("[CARPLAY] CONNECTED TO CARPLAY!")

    // Keep references to the CPInterfaceController (handles your templates) and the CPMapContentWindow (to draw/load your own ViewController's with a navigation map onto)
    self.interfaceController = interfaceController
    self.carWindow = window
    guard let path = Bundle.main.path(forResource: "video", ofType: "mp4") else
                        {
                            return
                        }
                        let videoURL = NSURL(fileURLWithPath: path)
                        let player = AVPlayer(url: videoURL as URL)
                        let playerController = AVPlayerViewController()
                        playerController.player = player
                        player.play()

            window.rootViewController = playerController
}

func application(_ application: UIApplication, didDisconnectCarInterfaceController interfaceController: CPInterfaceController, from window: CPWindow) {
    print("[CARPLAY] DISCONNECTED FROM CARPLAY!")
}

还继续执行添加carplay待遇的步骤

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56938924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档