【发布时间】:2014-04-16 23:07:07
【问题描述】:
我正在使用 UIWebView 播放 .mp3 文件。使用 Safari 是因为它为我提供了无需额外代码的音频控件,而且我看不到如何使用 AVPlayer 来实现这一点。它很简单,并且运行良好,但有一个例外。 .mp3 是根据地区播放的。它将正确播放第一个区域的音频文件。但是每个后续区域首先播放该区域的音频,然后立即播放第一个音频。因此,第一个区域播放 audio_region_1。第二个区域触发 audio_region_2,然后触发 audio_region_1。第 N 个区域触发 audio_region_n,然后再次触发 audio_region_1。它总是播放两个文件,第二个文件总是在应用程序中播放。一个新的 Safari 视图启动、播放、关闭,然后第二个 Safari 视图打开、播放和关闭。关于为什么或如何进行故障排除的任何想法?
NSURL *currentRegion = [[NSBundle mainBundle]URLForResource: regionIdentifier withExtension:@"mp3"];
NSURLRequest *currentRegionForSafari = [NSURLRequest requestWithURL: currentRegion];
[_viewWeb loadRequest: currentRegionForSafari];
NSLog(@" ** ** ** Narration shud have finished:%@.mp3", regionIdentifier);
- 我是否应该使用类似 webViewDidFinishLoad 的东西来显式调用 stopLoading 或类似的东西?
- 日志显示我的 NSLog 消息仅针对当前区域,regionIdentifier 的预期值。
- 日志显示了两个与上述行为匹配的“设置电影路径:”实例。
提前致谢,请原谅这个问题的简单性质。这是我的第一个 IOS 应用。
【问题讨论】:
-
如果我理解正确,您需要在播放第一个文件时运行第二个文件吗?对吗?
-
没有。我想播放一个音频文件。它似乎以某种方式缓存了第一次播放。它首先播放正确的文件,但总是紧随其后的是它在会话期间播放的第一个文件。我可以强制它播放任何区域,它会,但总是会立即启动一个新的 UIWebView 并再次播放第一个文件。