tôi đã cố gắng để có được giao diện SLDeviceVolumeItf
của RecorderObject
trên Android nhưng tôi đã nhận lỗi: SL_RESULT_FEATURE_UNSUPPORTED.
RecorderObject trong OpenSL không thực hiện giao diện để cài đặt âm lượng hoặc cấu hình trên Android
Tôi đọc mà thi hành Android của OpenSL ES không hỗ trợ cài đặt âm lượng cho AudioRecorder
. Điều đó có đúng không?
Nếu có thì có cách giải quyết khác không? Tôi có một ứng dụng VOIP mà không phải lo lắng tốt trên Galaxy Nexus vì độ lợi mic rất cao.
Tôi cũng đã cố gắng để có được SL_IID_ANDROIDCONFIGURATION
để đặt streamType
thành nguồn âm thanh VOICE_COMMUNINCATION
mới nhưng một lần nữa tôi gặp lỗi 12 (không được hỗ trợ).
// create audio recorder
const SLInterfaceID id[2] = { SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SL_IID_ANDROIDCONFIGURATION };
const SLboolean req[2] = { SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE };
result = (*engine)->CreateAudioRecorder(engine, &recorderObject, &audioSrc, &audioSnk, 2, id, req);
if (SL_RESULT_SUCCESS != result) {
return false;
}
SLAndroidConfigurationItf recorderConfig;
result = (*recorderObject)->GetInterface(recorderObject, SL_IID_ANDROIDCONFIGURATION, &recorderConfig);
if(result != SL_RESULT_SUCCESS) {
error("failed to get SL_IID_ANDROIDCONFIGURATION interface. e == %d", result);
}
Máy ghi được tạo ra nhưng tôi không thể có giao diện SL_IID_ANDROIDCONFIGURATION
. Tôi đã thử trên Galaxy Nexus (ICS), cảm giác HTC (ICS) và Motorola Blur (Gingerbread). Tôi đang sử dụng phiên bản NDK 6.
Âm thanh lạ. Tôi sử dụng target = android-9 và làm những việc tương tự bạn làm, nhưng giao diện SLAndroidConfigurationItf được truy xuất thành công. Có thể đó là do params bạn sử dụng để tạo đối tượng ghi? –