love icon indicating copy to clipboard operation
love copied to clipboard

Add Microphone access for iOS in Love 12.0 [enhancement]

Open SugarRayLua opened this issue 2 years ago • 3 comments

Would be great if could add microphone access for Love2D in the future Love 12.0 release. I can tell from love.audio.getRecordingDevices() that Love can already detect an iOS microphone. Thanks for the consideration.

SugarRayLua avatar Mar 19 '23 20:03 SugarRayLua

If the microphone is detected, which part isn't working for you?

You'll probably need to make sure you have this set in your info.plist if you don't already: https://developer.apple.com/documentation/bundleresources/information_property_list/nsmicrophoneusagedescription

slime73 avatar Mar 19 '23 20:03 slime73

Thanks, @slime73. I was helping out test another Love2D developers app that works on his Android Love and Desktop. I am supposed to push a button to start recording but when I do so the Love2D app crashes without an error message. I then tried out the sample code from this Android Love 2D developer's microphone test: https://love2d.org/forums/viewtopic.php?t=88151, and it also acknowledge that it detected a microphone and was ready to record but then crashed when I released the mouse to record (without generating an error message).

I can try in the future setting the info.plist in my Xcode build of Love 2D iOS; if it wasn't already set up in the Xcode download project then I likely hadn't set it. If that doesn't work, I can write back.

SugarRayLua avatar Mar 21 '23 00:03 SugarRayLua

I did some testing. I could get the permission popup to appear when RecordingDevice:start is called by adding that key/value to Info.plist, but it still hard-crashed inside Apple's OpenAL implementation even with that.

It's possible MojoAL (#1764) might allow it to work, I'll see about reevaluating that before 12.0 is done in case it no longer has the bugs it had when I last checked.

That being said, the documentation for love.audio.getRecordingDevices does already say that iOS isn't currently supported.

For 11.5 I've updated it to fail without hard-crashing.

slime73 avatar Jul 22 '23 21:07 slime73