2

良い一日、

私は、shoutcastストリーミング.plsファイルを取得し、AVFoundationフレームワークの助けを借りてそれを再生する1つのラジオアプリに取り組んでいます。

この作業はAVPlayerで簡単に実行できますが、問題は、ボリュームスライダーで動作させるためのコーディングや適切な解決策が見つからないことです。また、AVPlayerクラスにはボリュームプロパティがありません。

だから今私はそれをボリュームプロパティを持つAVAudioPlayerで動作させようとしています、そしてここに私のコードがあります:

NSString *resourcePatch = @"http://vibesradio.org:8002/listen.pls";
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePatch]];
NSError *error;

vPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
vPlayer.numberOfLoops = 0;
vPlayer.volume = 1.0f;
if (vPlayer == nil)
    NSLog(@"%@", [error description]);
else
    [vPlayer play];

このコードは、サーバーにアップロードされた.mp3ファイルでは機能しますが、shoutcastによって生成された.plsファイルでは機能しません。

AVAudioPlayerを修正して.plsファイルを操作したり、ボリュームスライダーをAVPlayerに実装したりする方法はありますか?

4

1 に答える 1

1

AVAudioPlayerネットワークからのストリームに使用することはお勧めできません。AVAudioPlayerに関するAppleのドキュメントの内容を参照してください。

オーディオプレーヤーと呼ばれるAVAudioPlayerクラスのインスタンスは、ファイルまたはメモリからのオーディオデータの再生を提供します。

ネットワークストリームからキャプチャされたオーディオを再生する場合、またはI / Oレイテンシを非常に低くする必要がある場合を除き、オーディオの再生にはこのクラスを使用することをお勧めします。

音量を変更するには、次のAVPlayer's質問を確認してください:再生中のAVPlayerの音量を調整する

于 2012-11-18T00:28:44.347 に答える