我開發了一款可同時播放兩個獨立音頻流的iOS
應用程序。要做到這一點,我使用AVPlayer
這樣的:如何流式音頻並且還能夠控制iOS上的音量?
我現在想實現音量控制,使用戶將能夠控制單獨的音頻流的音量。正如我試過這個,我得出了AVPlayer類沒有音量屬性的結論。我也看了一下AVAudioPlayer
這個課,但是從我收集的那個課只能播放本地音頻文件,而不是流式音頻。
所以我的問題是:我如何控制流媒體音量iOS
?
我開發了一款可同時播放兩個獨立音頻流的iOS
應用程序。要做到這一點,我使用AVPlayer
這樣的:如何流式音頻並且還能夠控制iOS上的音量?
我現在想實現音量控制,使用戶將能夠控制單獨的音頻流的音量。正如我試過這個,我得出了AVPlayer類沒有音量屬性的結論。我也看了一下AVAudioPlayer
這個課,但是從我收集的那個課只能播放本地音頻文件,而不是流式音頻。
所以我的問題是:我如何控制流媒體音量iOS
?
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
MPMusicPlayerController* musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
[musicPlayer setVolume:[SliderVolumen value]];
的設備,沒有模擬器才能正常工作。
與AVPlayer兼容。
感謝navinsillu,但根據Apple的文檔,AVAudioPlayer類不支持基於HTTP URL的流式音頻。用於initWithContentsOfURL:的URL必須是文件URL(file://)。那就是一個本地路徑。我也不想將遠程文件下載到NSData對象中,因爲我正在做的是通過HTTP流式傳輸無限遠程音頻流(目前使用的AVPlayer沒有我需要的音量屬性)。因此我認爲這不能解決我的問題。 – Andreas
我已經更新了我的答案 – NewStack