[Android Head-Units] Bokomaru:
I'm pretty sure that Newsmy/Bonovo would have to modify the MCU code to allow selecting of the input for Reverse sensing.

I'm really not sure why anyone would want audio from the rear camera? To hear people screaming "hey don't run over me?" :)

I tried to change the value sent via serial to the HU from 0 or 1 to 2 or 3 to see if it would select a different input but that didn't work out.

Though when watching logcat when hooking up the reverse wire I did see the device show what looked like an input of keycode 348 when it was connected and disconnected, so there is a possibility that you could trigger on that to switch audio input. Right now you would need to do some complete custom coding to do anything with that, but theres a chance that in the future you might be able to use something to watch for that keypress and send an intent to change the audio channel.

For anyone who wants more technical details here is logcat when reverse wire gets power:

D/WindowManager( 470): interceptKeyTq keycode=348 screenIsOn=true keyguardActive=false policyFlags=2000000 isWakeKey=false
D/WindowManager( 470): interceptKeyTq keycode=348 screenIsOn=true keyguardActive=false policyFlags=2000000 isWakeKey=false
D/WindowManager( 470): interceptKeyTi keyCode=348 down=true repeatCount=0 keyguardOn=false mHomePressed=false canceled=false
D/WindowManager( 470): interceptKeyTi keyCode=348 down=false repeatCount=0 keyguardOn=false mHomePressed=false canceled=false
W/ContextImpl( 470): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1131 com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeQueueing:4341 com.android.server.wm.InputMonitor.interceptKeyBeforeQueueing:357 com.android.server.input.InputManagerService.interceptKeyBeforeQueueing:1319 dalvik.system.NativeStart.run:-2
D/WindowManager( 470): Unhandled key: win=Window{42121000 u0 com.bonovo.mcuupdate_and_setting/com.bonovo.mcuupdate_and_setting.MainActivity}, action=0, flags=8, keyCode=348, scanCode=596, metaState=0, repeatCount=0, policyFlags=1107296256
D/WindowManager( 470): No fallback.
D/WindowManager( 470): Unhandled key: win=Window{42121000 u0 com.bonovo.mcuupdate_and_setting/com.bonovo.mcuupdate_and_setting.MainActivity}, action=1, flags=8, keyCode=348, scanCode=596, metaState=0, repeatCount=0, policyFlags=1107296256
D/WindowManager( 470): No fallback.

and here is it when disconnected:

D/WindowManager( 470): interceptKeyTq keycode=348 screenIsOn=true keyguardActive=false policyFlags=2000000 isWakeKey=false
D/WindowManager( 470): interceptKeyTq keycode=348 screenIsOn=true keyguardActive=false policyFlags=2000000 isWakeKey=false
D/WindowManager( 470): interceptKeyTi keyCode=348 down=true repeatCount=0 keyguardOn=false mHomePressed=false canceled=false
D/WindowManager( 470): interceptKeyTi keyCode=348 down=false repeatCount=0 keyguardOn=false mHomePressed=false canceled=false
W/ContextImpl( 470): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1131 com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeQueueing:4341 com.android.server.wm.InputMonitor.interceptKeyBeforeQueueing:357 com.android.server.input.InputManagerService.interceptKeyBeforeQueueing:1319 dalvik.system.NativeStart.run:-2
D/WindowManager( 470): Unhandled key: win=Window{42121000 u0 com.bonovo.mcuupdate_and_setting/com.bonovo.mcuupdate_and_setting.MainActivity}, action=0, flags=8, keyCode=348, scanCode=596, metaState=0, repeatCount=0, policyFlags=1107296256
D/WindowManager( 470): No fallback.