2013-04-17 100 views
3

我試圖開發在那裏我將有播放停止按鈕一個應用程序。一旦我上播放按鈕單擊它應該流正在被一個特定鏈路上播放的音頻音頻流使用AVAudioPlayer

-(void)playMusic 
{ 
    mAudioPlayer=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.tuneindia.com"] error:nil]; 
    mAudioPlayer.delegate = self; 
    mAudioPlayer.volume=mVolumeSlider.value; 
    NSLog(@"THEVOLUME:::: %f",mVolumeSlider.value); 
    [mAudioPlayer prepareToPlay]; 
    [mAudioPlayer play]; 
} 

請幫助我理解AVAudioPlayer如何連接到鏈接並從那裏傳輸音頻(正如我們使用www.tuneindia.com)。

回答

3

如果你想知道爲什麼它爲你寫不播放音樂,那麼原因是www.tuneindia.com是指一個網頁,而不是特定的流。該網頁上的流位於其他地方(檢查HTML源代碼,似乎不允許在StackOverflow中發佈該鏈接)。但是,很可能您仍然無法播放它,第一個參數看起來像會話cookie。

如果你想測試你的代碼,上傳MP3文件到服務器,您可以存儲文件,然後引用URL在播放器初始化是這樣的:http://www.yourserver.com/path/to/yourmusic.mp3

+0

無論你說是好的。實際上,如果你打開該網站,它會自動播放一些音樂,我想在我的應用程序中播放該音樂。 – lreddy

+0

,如果我給服務器的地方,歌曲已被存儲比它的工作? – lreddy

+1

你必須創建一個指向實際流的URL,而不是服務器本身。 AVAudioPlayer是不是足夠聰明弄清楚,你要玩被嵌入到HTML頁面流。這部作品在一個正常的瀏覽器的原因是,該頁面還嵌入了只要你打開網頁自動播放流的應用程序。您必須指向AVAudioPlayer的URL需要與嵌入式應用程序所指向的URL相同。參考tuneindia.com,您可以通過查看HTML頁面的源代碼找到該URL。 – tigloo