ios - 播放 MOV 文件的最佳方式是什么?

标签 ios

我已经从 UI 的屏幕截图生成了 MOV 文件并录制了声音。合并视频和音频并生成 MOV 格式的电影。

我看过很多 MPMoviePlayerViewController 示例,但它只显示黑屏。我尝试了 AVPlayer,但无法正常工作。

我刚开始在 iOS 中播放电影文件,请帮忙。

这是我的代码:

NSString  *fileNamePath = mVideo;
NSArray   *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);
NSString  *documentsDirectory = [paths  objectAtIndex:0];
NSString  *oldappSettingsPath = [documentsDirectory stringByAppendingPathComponent:fileNamePath];
NSURL *path = [NSURL fileURLWithPath:oldappSettingsPath];
self.mPlayer = [[MPMoviePlayerController alloc] initWithContentURL:path];

self.mPlayer.controlStyle = MPMovieControlStyleFullscreen;
self.mPlayer.fullscreen = YES;
self.mPlayer.scalingMode = MPMovieScalingModeFill;
[[self.mPlayer view] setFrame: CGRectMake(0, 0, 480, 320)];
[self.view addSubview:[self.mPlayer view]];
[self.mPlayer prepareToPlay];
[self.mPlayer play];

最佳答案

我已经找到了我的 MPMoviePlayerController 的修复:

         NSURL *path = [NSURL fileURLWithPath:oldappSettingsPath];
         if ([[NSFileManager defaultManager] fileExistsAtPath:oldappSettingsPath]) {
             NSLog(@"Exist");
             self.mPlayer = [[MPMoviePlayerController alloc] initWithContentURL:path];
             self.mPlayer.movieSourceType = MPMovieSourceTypeFile;
             self.mPlayer.controlStyle = MPMovieControlStyleFullscreen;
             self.mPlayer.fullscreen = YES;
             self.mPlayer.scalingMode = MPMovieScalingModeFill;
             [[self.mPlayer view] setFrame: CGRectMake(0, 0, 480, 320)];
             [self.view addSubview:[self.mPlayer view]];
             [self.mPlayer prepareToPlay];
             [self.mPlayer play];
         } else {
             NSLog(@"Don't Exist");
         }

我还添加了:

        self.mPlayer.movieSourceType = MPMovieSourceTypeFile;

在我的例子中,播放器显示黑屏,因为我播放的文件不存在,所以我首先添加了检查文件是否存在。

关于ios - 播放 MOV 文件的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234270/

相关文章:

ios - 在 ScrollView 中切换 VStack 的饱和度 - SwiftUI

ios - Swift - 在锁屏/控制中心隐藏 URL

objective-c - SubstringWithRange NSString 内存泄漏

ios - 从 Firebase 保存大量数据

ios - 在SKLabelNode周围绘制边框

ios - 框架架构 : Specify NSBundle to load . 来自单例初始化期间的 plist 文件

ios - 如何解决不明确的布局?

ios - 使用检索到的核心数据

ios - IOS Firebase Cloud Functions 中未收到推送通知

c# - 如何使用Application.targetFrameRate设置目标帧速率以修复不良帧速率(vsync)