【发布时间】:2021-08-21 02:41:58
【问题描述】:
我正在尝试在应用之间广播音频。这是我的录音:
private var audiorecord: AudioRecord? = null
private val SAMPLER = 16000 //Sample Audio Rate
private val CHANNEL_CONFIG: Int = AudioFormat.CHANNEL_IN_MONO
private val AUDIO_FORMAT: Int = AudioFormat.ENCODING_PCM_16BIT
private var BUFFER_SIZE = AudioRecord.getMinBufferSize(SAMPLER, CHANNEL_CONFIG, AUDIO_FORMAT)
audiorecord = AudioRecord(
MediaRecorder.AudioSource.MIC,
SAMPLER,
CHANNEL_CONFIG,
AUDIO_FORMAT,
BUFFER_SIZE
)
通过 WebSocket 连接发送此内容并尝试在 AudioTrack 中播放我收到非音频错误:(我正在使用电话,所以我听到一些噪音,但没有声音)
A/AudioTrackShared: releaseBuffer: mUnreleased out of range, !(stepCount:4
A/libc:致命信号 6 (SIGABRT),tid 9569 (Thread-3) 中的代码 -1 (SI_QUEUE),pid 18292 (mple.testaudio2)
我的音轨:
var BUFFER_SIZE = AudioTrack.getNativeOutputSampleRate(AudioManager.STREAM_VOICE_CALL)
val attribBuilder = AudioAttributes.Builder()
attribBuilder.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
attribBuilder.setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
val attributes = attribBuilder.build()
// Build audio format
val afBuilder = AudioFormat.Builder()
afBuilder.setChannelMask(AudioFormat.CHANNEL_OUT_MONO)
afBuilder.setEncoding(AudioFormat.ENCODING_PCM_8BIT)
afBuilder.setSampleRate(BUFFER_SIZE)
val format = afBuilder.build()
audioTrack = AudioTrack(
attributes,
format,
BUFFER_SIZE,
AudioTrack.MODE_STREAM,
AudioManager.AUDIO_SESSION_ID_GENERATE
)
我不确定音频属性和音频格式。这段代码破坏了我的应用程序。为什么?
【问题讨论】:
标签: android android-studio kotlin voip android-broadcast