2

opus-codecに問題があります。

opus_encoder_create()はnullポインターを返し、OPUS_BAD_ARGエラーをスローします

OpusEncoder * m_enc;
m_enc = opus_encoder_create(44100, 2, OPUS_APPLICATION_VOIP, &this->m_error);

これは私がgdbで得たものです:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000001fa4
opus_encode_float (st=0x0, pcm=0x100717e20, frame_size=8, data=0x100840c00 "", out_data_bytes=4000) at opus_encoder.c:581
581     st->rangeFinal = 0;
(gdb) bt
#0  opus_encode_float (st=0x0, pcm=0x100717e20, frame_size=8, data=0x100840c00 "", out_data_bytes=4000) at opus_encoder.c:581
#1  0x0000000100002b1d in Encoder::Encode (this=0x7fff5fbffa70, audioFrame=0x100717e20, frameSize=8) at Encoder.cpp:39
#2  0x000000010000192c in main () at main.cpp:101

なぜ何かアイデアはありますか?ありがとう。

4

1 に答える 1

6

ドキュメントには、サポートされているサンプリング周波数がリストされています。

これは、8000、12000、16000、24000、または 48000 のいずれかでなければなりません。

44100 がリストにないことに注意してください。これは、「不正な引数」エラーの優れた原因と思われます。

于 2012-12-04T12:18:22.750 に答える