应用中的媒体播放与国际化策略
1. 应用内媒体播放
在应用开发中,实现音频和视频的播放是常见需求。以视频播放为例,我们可以通过响应特定通知来实现自定义控制。以下是相关代码示例及说明:
// 响应通知,修改播放/暂停按钮标题
// 处理播放状态改变通知
// 处理退出全屏通知
// 记得在不需要通知时移除观察者
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:nil object:nil];
}
在上述代码中,我们响应了两个通知: MPMoviePlayerPlaybackStateDidChangeNotification
和 MPMoviePlayerDidExitFullscreenNotification
。对于前者,我们会修改播放/暂停按钮的标题,如果视频正在播放,将按钮标题设置为“暂停”,否则设置为“播放”;对于后者,当视频播放器不再全屏播放时,我们将播放器的控制样式设置为“无”。由于我们注册接收了这些通知,所以需要在不再需要时告知通知中心移除观察者,这通过在 initWithNibName:bundle:
之后添加 dealloc
方法来实现。
通过这种方式,我们可以使用自定义控件在创建的视图控制器中播放通过图像选择器控制器选择或拍摄的任何视频。如果有支持 AirPlay 的设备,还可以从全屏视图将视频发送到该设备进行测试。利用