2013-02-01 51 views
1

我開發了一款可同時播放兩個獨立音頻流的iOS應用程序。要做到這一點,我使用AVPlayer這樣的:如何流式音頻並且還能夠控制iOS上的音量?

我現在想實現音量控制,使用戶將能夠控制單獨的音頻流的音量。正如我試過這個,我得出了AVPlayer類沒有音量屬性的結論。我也看了一下AVAudioPlayer這個課,但是從我收集的那個課只能播放本地音頻文件,而不是流式音頻。

所以我的問題是:我如何控制流媒體音量iOS

回答

0
NSString* resourcePath = url; //your url 
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePath]]; 
NSError *error; 

app.audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error]; 
app.audioPlayer.numberOfLoops = 0; 
app.audioPlayer.volume = 1.0f; 
[app.audioPlayer prepareToPlay]; 

if (app.audioPlayer == nil) 
    NSLog(@"%@", [error description]); 
else 
    [app.audioPlayer play]; 

查找到AVPlayer班,AVFoundation框架的一部分......這是Objective-C的(IOS)類使用音頻流。

看看這個帖子Live streaming

+0

感謝navinsillu,但根據Apple的文檔,AVAudioPlayer類不支持基於HTTP URL的流式音頻。用於initWithContentsOfURL:的URL必須是文件URL(file://)。那就是一個本地路徑。我也不想將遠程文件下載到NSData對象中,因爲我正在做的是通過HTTP流式傳輸無限遠程音頻流(目前使用的AVPlayer沒有我需要的音量屬性)。因此我認爲這不能解決我的問題。 – Andreas

+0

我已經更新了我的答案 – NewStack

0
MPMusicPlayerController* musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; 
[musicPlayer setVolume:[SliderVolumen value]]; 

的設備,沒有模擬器才能正常工作。

與AVPlayer兼容。