Objective c 您如何知道用户何时选择通过AirPlay播放视频?

Objective c 您如何知道用户何时选择通过AirPlay播放视频?,objective-c,ios,Objective C,Ios,我有一个自定义的视频播放器和自定义控件,我利用MPVolumeView提供一个airplay按钮。当用户选择使用AirPlay时,他们会与苹果的UI交互,我找不到任何事件会说嘿,视频现在正在AirPlay上播放 问题是,如果我关闭播放器并重新打开它,它会将电影加载状态更改为MPMovieLoadStatePlayable,我播放它,我会立即收到一个播放完成通知,原因是MPMOVIELFINISHREASONPLAYBACKEND,视频会继续尝试通过AirPlay播放。我敢肯定,每当我关闭播放器时

我有一个自定义的视频播放器和自定义控件,我利用MPVolumeView提供一个airplay按钮。当用户选择使用AirPlay时,他们会与苹果的UI交互,我找不到任何事件会说嘿,视频现在正在AirPlay上播放

问题是,如果我关闭播放器并重新打开它,它会将电影加载状态更改为MPMovieLoadStatePlayable,我播放它,我会立即收到一个播放完成通知,原因是MPMOVIELFINISHREASONPLAYBACKEND,视频会继续尝试通过AirPlay播放。我敢肯定,每当我关闭播放器时,电影就会停止播放,并被取消分配


如果有人对如何处理这个问题有任何建议,知道一些需要倾听的事件,或者对此有任何想法,请让我知道。谢谢

这里的答案是,至少在4.3之前,没有办法通过代码得到答案

本例中的问题是在使用完MPMoviePlayerController后如何处理它。即使视频播放通过,在您最终释放它之前,您也必须调用暂停,然后停止。像这样:

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] init];

// use the player.  then when done with it:

[mp pause];
[mp stop];
[mp release];
如果不这样做,那么下次创建MPMoviePlayerController时,某些属性会以某种方式在框架中进行重影。播放视频会逐渐使前一个mp的音频播放,而新mp会进行初始缓冲。另外,如果前一个视频是在airplay上播放的,那么下一个视频将收到一个通知,说明视频在开始后立即结束,以及其他一些奇怪的事情


长话短说,按照上述顺序处理视频播放器,以避免以后的电影播放器出现问题。

这里的答案是,至少在4.3之前,无法通过代码获得答案

本例中的问题是在使用完MPMoviePlayerController后如何处理它。即使视频播放通过,在您最终释放它之前,您也必须调用暂停,然后停止。像这样:

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] init];

// use the player.  then when done with it:

[mp pause];
[mp stop];
[mp release];
如果不这样做,那么下次创建MPMoviePlayerController时,某些属性会以某种方式在框架中进行重影。播放视频会逐渐使前一个mp的音频播放,而新mp会进行初始缓冲。另外,如果前一个视频是在airplay上播放的,那么下一个视频将收到一个通知,说明视频在开始后立即结束,以及其他一些奇怪的事情

长话短说,按照上述顺序处理视频播放器,以避免以后的电影播放器出现问题