gpt4 book ai didi

objective-c - iPhone MPMoviePlayerController 在真实设备上播放视频时失去声音

转载 作者:行者123 更新时间:2023-12-02 22:43:30 27 4
gpt4 key购买 nike

我在播放“视频”声音时遇到问题。

我遵循所有标准,但视频/音频有时会静音或在视频文件末尾消失。我不知道为什么。有谁知道可能是什么问题?

这只发生在真实设备上运行应用程序时,我无法在模拟器上重现该问题。

“didReceiveMemory”警告会导致这种情况吗?当它发生时,我有时会收到此消息。

视频文件通过 URL 地址进行流式传输,格式为 MPEG-4 电影,大小小于 6.2 MB。

我有以下代码:

- (IBAction) playMovie:(NSString*)theUrl
setMovieType:(NSString *)theType
setPlayOption:(int)theOption
setSenderUIButton:(UIButton *) thisSender
{
NSString *getvdoUrl = [[NSString alloc] initWithString:theUrl];
NSURL *thisVdoURL = [NSURL URLWithString:getvdoUrl];
[getvdoUrl release];
getvdoUrl = nil;
MPMoviePlayerController *movieplayer = [[MPMoviePlayerController alloc]
initWithContentURL:thisVdoURL];
thisVdoURL = nil;
if (movieplayer)
{
self.vdoPlayer = movieplayer;
[movieplayer release];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.vdoPlayer];
[self.vdoPlayer play];
}

}

-(void) moviePlayBackDidFinish:(NSNotification*)theNotification
{



MPMoviePlayerController *movieplayer= [theNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:movieplayer];
movieplayer.initialPlaybackTime = 0.0;
[movieplayer stop];
}

以下是警告信息。我在视频文件开始播放之前收到了它们:
warning:  Unable to read symbols for 
"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3
(7E18)/Symbols/System/Library/VideoDecoders/VCH263.videodecoder"
(file not found).


warning: Unable to read symbols for
"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3
(7E18)/Symbols/System/Library/VideoDecoders/H264H1.videodecoder"
(file not found).


warning: Unable to read symbols for
"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3
(7E18)/Symbols/System/Library/VideoDecoders/MP4VH1.videodecoder"
(file not found).

2010-03-29 16:57:25.830 ....
v2[4663:207] setting
file:///private/var/mobile/Applications/7DCB1FCC-7268-4551-B737-8B418CA4A07E/tmp/MediaCache/[html]

最佳答案

您应该尝试不同的 MP4 文件,它们并不完全相同 - 如果您从 Quicktime 创建它们,它们应该针对流式传输进行优化 - 如果您在 mp4box 的帮助下创建它们,则“提示”。您的文件音频时间戳可能存在问题 - 如果有任何问题,请尝试通过 safari 浏览器和/或 quicktime 播放。我猜你也遵循 H264 和 AAC 的最大比特率/配置文件/级别设置。

如果你的手机内存真的用完了,这可能会发生,媒体播放器在单独的进程中运行——而不是直接在你的应用程序中运行(我想允许它使用 GPU 解码器和沙箱)。
您是否只在应用程序中播放此视频一次?之后你会删除通知吗? - 通常在播放视频之前只需注册一次就足够了。

取决于您在哪个固件下编译和运行,错误往往会在以后的版本中修复,但从 4.0 开始,整个 API 发生了变化,代码也需要更新......

警告消息对于模拟器来说是无用且常见的 - 它们只是来自模拟器试图达到 SDK 之外模块的调试符号 - 因为模拟器的 Quicktime 通过您的桌面 Quicktime 运行 - 您可能会在那里看到您的声卡驱动程序和更多编解码器,具体取决于您的设置。

关于objective-c - iPhone MPMoviePlayerController 在真实设备上播放视频时失去声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2555133/

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