使用audioUint 播放音频流的时候,出现模拟器有声音,真机没声音现象,可能原因与解决办法

有可能是因为电脑的CPU架构和真机的不同而引发获取的AudioUint 默认设备信息不同导致的。

解决办法获取了AudioUint之后,手动设置一下各个重要参数。

下面是获取到模拟器上的AudioUint默认的信息:

使用audioUint 播放音频流的时候,出现模拟器有声音,真机没声音现象,可能原因与解决办法_第1张图片

下面是获取到真机上的AudioUint默认的信息:

使用audioUint 播放音频流的时候,出现模拟器有声音,真机没声音现象,可能原因与解决办法_第2张图片

可以看到mBitsPerChannel属性值的不同,通过手动设定这个值的属性,解决了真机没声音的问题。

AudioStreamBasicDescription _audioFormat;
_audioFormat.mBitsPerChannel = 16;
_audioFormat.mFormatFlags = 12;
AudioUnitSetProperty(_audioUnit,
                     kAudioUnitProperty_StreamFormat,
                     kAudioUnitScope_Input,
                     0,
                     &_audioFormat,
                     size);

如果你有其他见解,敬请赐教。

你可能感兴趣的:(ios,声音,模拟器有声音,真机播放没声音,audioUint)