ラジオ ストリームの再生に AVPlayer を使用しています。プレーヤーを初期化するために、次のコードを使用しています:
self.asset = [AVAsset assetWithURL:self.url];
self.item = [AVPlayerItem playerItemWithAsset:self.asset];
self.player = [AVPlayer playerWithPlayerItem:self.item];
この質問を読みました 再生中の AVPlayer の音量を調整する
そして、スライダーの値で音量を設定しようとしています
- (void)setVolume:(float )volume
{
_volume = volume;
NSArray *audioTracks = self.asset.tracks;
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) {
AVMutableAudioMixInputParameters *audioInputParams =
[AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:volume atTime:kCMTimeZero];
[allAudioParams addObject:audioInputParams];
[audioInputParams setTrackID:[track trackID]];
}
AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix];
[audioMix setInputParameters:allAudioParams];
NSLog(@"%@", self.player.currentItem);
NSLog(@"%f", volume);
[self.player.currentItem setAudioMix:audioMix];
}
私も設定しようとしています
[audioInputParams setVolume:volume atTime:self.player.currentTime];
しかし、その配列 (self.asset.tracks) にはトラックがなく、ボリュームには影響しません。(メタデータも取得できません)、AVAudioPlayerを使用してURLでオーディオストリームを再生できません
オーディオ プレーヤーと呼ばれる AVAudioPlayer クラスのインスタンスは、ファイルまたはメモリからのオーディオ データの再生を提供します。
Apple では、ネットワーク ストリームからキャプチャしたオーディオを再生する場合や、I/O レイテンシを非常に低くする必要がある場合を除き、オーディオの再生にこのクラスを使用することをお勧めします。
そのコードhttps://github.com/DigitalDJ/AudioStreamer/downloadsを使用してラジオ ストリームを再生することを考えています が、Audiotoolbox で音量を設定する方法がわかりません。
私を助けてください!ありがとう!