[英]iOS UIWebView loadRequest
我正在使用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);
在此先感谢并原谅问题的简单性。 这是我的第一个IOS应用。
每次需要播放其他声音时,请确保您具有不同的区域。
另外,我不确定它是否对您有帮助,请尝试以下代码:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
NSURL *currentRegion = [[NSBundle mainBundle]URLForResource: regionIdentifier withExtension:@"mp3"];
NSURLRequest *currentRegionForSafari = [NSURLRequest requestWithURL: currentRegion];
[currentRegionForSafari setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
[_viewWeb loadRequest: currentRegionForSafari];
根本问题是UIWebView会缓存发送给它的先前的.mp3,并在当前加载请求完成后对其进行播放。 有趣的是,它缓存的是第一个.mp3,而不是您所期望的最后一个。 无论如何,我评估了关于在另一个问题上发现的UIWebView的“清理内容”的两个建议。
这对我有用,添加到我的负载请求方法中。
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
这是其他问题的网址,它是否可以帮助其他人:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.