gpt4 book ai didi

ios - MPMoviePlayer 在查找文件时播放音频但不播放视频

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:57 24 4
gpt4 key购买 nike

我正在尝试在某个点搜索视频文件。假设视频长 5 分钟,我在 110 秒处跳入。

当我从头开始播放时,一切正常,但是,当我尝试搜索文件时,我可以听到音频但看不到视频。我首先认为这可能是我加载 subview 的顺序的问题,但我仍然可以看到(并使用)播放器的控件。滑回 0:00 开始播放视频。

以下是我的视频类(class)中的代码。 initIntoView 方法接受一个 UIView,然后返回一个修改后的副本,然后将其写入主视图。提前为困惑的代码道歉。我对 Objective-C 还是很陌生。

初始化视频 View

- (WWFVideo*) initIntoView: (UIView*) view withContent:(NSDictionary*)contentDict{
self=[super init];
viewRef=view;
contentData = contentDict;
NSURL *videoUrl = [[NSURL alloc]initWithString:[contentDict objectForKey:@"cnloc"]]; //Returns a HTTP link to my video file (MP4, H.246, AAC Audio)
videoController = [[MPMoviePlayerController alloc] init];
videoController.movieSourceType = MPMovieSourceTypeFile;
[videoController setContentURL:videoUrl];
videoController.view.frame = viewRef.bounds;
[videoController.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[viewRef addSubview:videoController.view];
return self;
}

开始播放视频

-(void)play:(int)offset { //Offset is "110"
[videoController setInitialPlaybackTime:offset];
[videoController play];
}

我尝试在视频开始播放之前和之后将 videoController 添加到 viewRef,但结果相同。

我也试过使用 MPMoviePlayerViewController 但无济于事。

我尝试的另一件事是将流式传输类型更改为 MPMovieSourceTypeStreaming 但它似乎没有效果。

如果我遗漏了任何更重要的代码,尽管问我,我会看看我能做些什么。

编辑:
Xcode 4.6.3
iOS 6
在 iPad 2 上测试

编辑#2:
在模拟器上完美运行,而不是在设备上运行。

最佳答案

在尝试拼凑一个示例应用并上传到此处后,我发现 w3 version of Big Buck Bunny工作正常。这表明这是一个编码问题,而不是一个客观的 C 问题。

我已经重新编码了我之前尝试播放的同一个文件,但现在使用以下命令使用 baseline 配置文件:

ffmpeg -i {filename} -acodec aac -ac 2 -strict experimental -ab 160k -s {ssize} -vcodec libx264 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b 1200k -f mp4 -threads 0 {filename}.ipad.mp4

我在 here 上找到了这段代码通过this Stack Overflow post .

Primarily for low-cost applications that require additional data loss robustness, this profile is used in some videoconferencing and mobile applications. This profile includes all features that are supported in the Constrained Baseline Profile, plus three additional features that can be used for loss robustness (or for other purposes such as low-delay multi-point video stream compositing). The importance of this profile has faded somewhat since the definition of the Constrained Baseline Profile in 2009. All Constrained Baseline Profile bitstreams are also considered to be Baseline Profile bitstreams, as these two profiles share the same profile identifier code value.

-From Wikipedia

我意识到这可能对这里寻求 Objective-C 帮助的任何人都没有帮助,但如果我今天花 5 个小时来尝试使它正常工作,它只为一个人节省了时间,那么这将是值得的。

关于ios - MPMoviePlayer 在查找文件时播放音频但不播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18593706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com