我试图在Apple Watch上播放两个2秒的嵌入式视频,一个又一个,但是海报图像有问题。
我通过触摸其海报图像触发播放第一部视频。当第一个视频播放完(使用计时器)并且不应具有海报图像时,第二个视频将自动播放。
在屏幕上显示第二个视频时会出现问题:即使我为第二个视频的海报图像指定了nil,也显示了第一个视频的海报图像。 Watchkit documentation(指定为nil会删除张贴者图片)。
在两种环境中使用iPhone 7 Plus + Apple Watch Series 2-42 mm,iOS模拟器和物理设备上的结果均相同。我也曾在模拟器中尝试过Apple Watch Series 4,但是没有运气。
我仅使用一个变量movie
来控制两个视频,并且可以通过使用两个不同的变量来避免该问题,但是我可能在代码中做错了一些,我想先了解一下。我已经提取了我认为目前相关的代码部分:
接口控制器属性:
@IBOutlet var movie: WKInterfaceInlineMovie!
设置:
movie.setPosterImage(WKImage (imageName: “Poster1”))
let movieURL = Bundle.main.url(forResource: “Video1”, withExtension: "mov")
movie.setMovieURL(movieURL!)
用户通过触摸Video1的海报图像开始播放Video1:
movie.playFromBeginning()
在Video1完成播放(由单独的计时器控制)之后,Video2被设置并播放:
movie.setPosterImage(nil)
let movieURL = Bundle.main.url(forResource: “Video2”, withExtension: "mov")
movie.setMovieURL(movieURL!) // Problem: Poster image from Video1 is shown
movie.playFromBeginning()
movie.setPosterImage(nil)
为什么不起作用?