91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用AVAudioPlayer播放網絡音樂

發布時間:2020-07-03 04:57:58 來源:網絡 閱讀:431 作者:guoleiappleapp 欄目:開發技術

 iOS中的AVAudioPlayer不支持邊下邊播,所以只能下載到本地再播放。


方法:

  1. NSString *urlStr = @"http://…………xxx.mp3";  

  2. NSURL *url = [[NSURL alloc]initWithString:urlStr];  

  3. NSData * audioData = [NSData dataWithContentsOfURL:url];  

  4. //將數據保存到本地指定位置        

  5. NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];  

  6. NSString *filePath = [NSString stringWithFormat:@"%@/%@.mp3", docDirPath , @"temp"];  

  7. [audioData writeToFile:filePath atomically:YES];  

  8. //播放本地音樂          

  9. NSURL *fileURL = [NSURL fileURLWithPath:filePath];  

  10. player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];  

  11. [player play];  

注意代碼中的player是類的私有變量,因為在ARC模式下如果定義局部變量,出了作用域后對象會被銷毀。這個問題也是糾結了好久才搞明白。參見鏈接

當然也可以不保存文件,只是將player的構造方法改為用data實例化即可。


總結:

下面說一下我遇到的各種問題:

1、由于添加了All Exception斷點,導致每次都在初始化的時候自動斷到,因為不是OC異常,又無異常信息顯示。這時應該編輯斷點,將其類型由All改為OC。這個異常并不會導致程序的崩潰,所以可以不作處理。

2、網上有的說不能播放,解決方案是應該在 AppDelegate.m文件中的

application  didFinishLaunchingWithOptions 添加這樣一句代碼:


[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryPlaybackerror:nil];

我也沒看到效果,但有很多人支持,就暫且記下地址:鏈接


附:

另外,流式播放,也就是邊下邊播,是別人的例子:下載

也可以將音樂下載到本地NSRULRequest,得到本地的路徑在播放


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邯郸市| 天全县| 上高县| 石河子市| 定结县| 阿合奇县| 北川| 阿瓦提县| 孟州市| 琼海市| 福州市| 宜春市| 乌兰察布市| 滦南县| 聂拉木县| 芦山县| 英山县| 瑞安市| 紫阳县| 驻马店市| 通道| 德庆县| 灯塔市| 临武县| 渭南市| 怀宁县| 孝昌县| 定安县| 缙云县| 定陶县| 景泰县| 同心县| 巩留县| 博罗县| 蒙城县| 天峨县| 永嘉县| 岫岩| 旌德县| 郁南县| 富阳市|