I have an iPod Touch 1G running OS v2.2 and a MacAlly iVoice III. I’ve been able to verify that the Apple SDK’s "SpeakHere" example works. YAY.
I’ve also been able to verify that the FMOD example "recording" does not work with the iVoice III.
Considering the source is available for the "SpeakHere" example, and it doesn’t look like it is doing anything special, only using the AudioQueue services, could support for the iVoice III be implemented into FMOD?
Alternatively, is there any way to bridge AudioQueue to pipe directly into FMOD?
- CuriousG asked 7 years ago
Hmm, I’m not familiar with the MacAlly iVoice III, but if the speak here example works then there is a good chance that we can get it working with FMOD also.
Can you run the recording example in debug mode on your device and tell me what error is reported by FMOD when you try recording? Also any output on the TTY would be useful to work out why it doesn’t work.
As for using AudioQueues, I don’t have much experience with them as they are a higher level API compared with how FMOD is implemented. I believe the only way to output audio out of an AudioQueue is if you use it as an offline rendered (I believe there is an example for that).
Regardless if you can get sample data from it, you can feed that data into FMOD either by creating an empty sound, locking the data and copying it in. Or overriding FMOD read callbacks for a sound and giving the data as it is requested.
But if you can get back to me with that error / TTY output I will try and get it working with FMOD for you.
Here is some info:
[list:dtlyqc2k]- getRecordNumDrivers returns "0" whether or not I have the MacAlly iVoice III plugged in.
– getRecordDriverInfo returns "iPhone audio input" whether or not I have the MacAlly iVoice III plugged in and even though I am on an iPod Touch 1G.[/list:u:dtlyqc2k]
If I have the iVoice plugged in, I do not get any errors, it just doesn’t record at all. If I do not have it plugged in, the program crashes with the following error:
[list:dtlyqc2k]FMOD: OutputCoreAudio::recordStart : Device doesn’t support input or attachment is required.
FMOD error! (50) Tried to use a feature that requires hardware support. (ie trying to play a VAG compressed sound in software on PS2). [/list:u:dtlyqc2k]
Thanks for all your help!
Interesting, firstly I am surprised getRecordNumDrivers is reporting 0 for you, are you sure it isn’t returning an error? That function for iPhone always returns 1 (although it should probably be smarter than that :p ).
The output "Device doesn’t support input or attachment is required" is the most telling of what the issue is though. This is happening because the iPhone SDK is reporting that there is not attached device that supports recording (which is probably a lie, I’m guessing it doesn’t query dock connected devices for recording ability).
So the solution for us is to probably remove that check, I will see if I can be a bit more creative in recording detection. If that is the only blocker on recording working I expect our next release should work for you.
Please login first to submit.