簡體   English   中英

如何流mp3文件(iOS)

[英]How to stream mp3 files (iOS)

我在SO上找到了許多相關問題,但是或者因為我很新,或者因為它不完全適合我的問題,所以我找不到成功的方法。

因此,我要做的就是直接在iOS設備(本機為iPhone)上播放存儲在外部服務器上的音頻文件

我已經在網上嘗試了不同的解決方案,這是我到目前為止所得到的。

NSString* resourcePath = @"http://www.chiptape.com/chiptape/sounds/medium/laugh.mp3"; //your url
NSURL *url = [[NSURL alloc]initWithString:resourcePath];

NSError *error;

audioPlayer = [[AVAudioPlayer alloc] initWithURL:url error:&error];

audioPlayer.delegate = self;
[url release];

[audioPlayer prepareToPlay];
[audioPlayer play];

編譯器向我顯示此錯誤:

“ AVAudioPlayer”沒有可見的@interface聲明選擇器“ initWithURL:error:”

我完全不確定我的代碼,並且希望你們知道昨天我已經開始進行iOS編碼,因此我很可能會丟失一些顯而易見的東西,以至於教程/帖子中都沒有提到它。

另外,我已經導入了AVFoundation庫並將其導入到我的.h文件中。 我也在.h文件中聲明了這一點

AVAudioPlayer *audioPlayer;

我希望有一種簡單的方法可以在iOS上以提供android / java的方式流式傳輸音頻文件

謝謝,如果您需要更多詳細信息,請發表評論,我將更新我的帖子。

我最近正在使用它。

AVAudioPlayer無法使用音頻流。 實際上,沒有簡單的方法可以做到這一點。

您需要學習一些Core Audio知識,獲取媒體的原始數據,然后在audioQueue(audioToolBox框架)中播放它們。 實時音頻處理不是一件容易的事,它充滿了c級api和那么多骯臟的工作,請不要着急,玩得開心:)

查看《 學習核心音頻 》一書和此開源音頻流媒體

讓我知道您是否需要更多幫助。

嘗試這個:

NSString* resourcePath = @"http://www.chiptape.com/chiptape/sounds/medium/laugh.mp3"; //your url
NSURL *audioURL = [NSURL URLWithString:resourcePath];
AVAudioPlayer *audioPlayer = [[[AVAudioPlayer alloc] initWithContentsOfURL: audioURL  error:&error]autorelease];       
[audioPlayer play];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM