我在Android上使用JavaCV,我正在关注此示例活动。 https://code.google.com/p/javacv/source/browse/samples/RecordActivity.java
然而,我遇到麻烦的那条线是
recorder.record( ShortBuffer.wrap(audioData, 0, bufferReadResult). );
但我正在获得该行的例外,因为它期待一个Buffer []。然而,读入Buffer和ShortBuffer,我不知道为什么它不会接受它。
记录()
的声明public void record(com.googlecode.javacv.cpp.opencv_core.IplImage image) throws com.googlecode.javacv.FrameRecorder.Exception { /* compiled code */ }
public void record(com.googlecode.javacv.cpp.opencv_core.IplImage image, int pixelFormat) throws com.googlecode.javacv.FrameRecorder.Exception { /* compiled code */ }
public void record(java.nio.Buffer[] samples) throws com.googlecode.javacv.FrameRecorder.Exception { /* compiled code */ }
这是我第一次使用Buffer类,所以我对它们的工作方式感到有些困惑。
答案 0 :(得分:1)
Buffer[] barray = new Buffer[1];
barray[0] = ShortBuffer.wrap(audioData, 0, bufferReadResult);
recorder.record(barray);