[英]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.