Sound issues with app inventor

Hi everyone, I designed an app that records speech through microphone. When I play the sound via Player, I can only hear the sound through the iphone main speaker (here you place your ear). Once the sound file has been recorded and saved in Tiny DB, only when I relaunch the app I can hear the sound as loud speaker! I need the sound to always play via loud speaker on the phone, and not sure if this is a glitch, or a setting maybe?

2 Likes

If you're using iOS, does this work on Android?

1 Like

Hi Nishyanth, so far I tested it on iOS, and just tested it on android, no sound at all there. Thanks!

1 Like

You're saying the Playeris playing through the call speaker? That should ideally not happen.
I'm not sure why this is happening here, maybe the Power Users could shed a little more light.

2 Likes

Yes it is funny, as when I launch the app via AI companion, sound comes from loud speaker. However they minute I use the recording button to record a new sound, when I press PLAY again, the speakers switch to the call speaker, so you would need to put your ear on the phone in order to hear the recording.

1 Like

Show your blocks.

2 Likes

Hi Anke, I used screen recorder on my iPhone and when i played the recording the sound was coming normally as loud speaker. It is only when I am in the app, when i record a voice when i click PLAY to hear it, I have to put the phone on my ear to listen to my recording, it just doesn't come as loud speaker.

Yes, I can confirm that. It seems to be a new bug with AI2 for iOS. My iOS apps that I built and tested months ago worked fine, but they no longer work. The sound is barely audible even when the volume is turned up. (The same result if the sound is played from the assets.)

EDIT: Tested on iOS 15.0.2 (iPhone 6s).
I checked it also on iOS 14.8 (iPad Pro (12.9, 4. Gen): works fine!
@ewpatton

1 Like

Thanks a million Anke, really appreciate! I will then leave it at that - have a nice Sunday :slight_smile:

I think I found the reason / solution for this issue:
Go to → Settings → Music → Adjust Volume and enable it.
And try again. This seems to be disabled by default on iOS 15.

1 Like

I don't have Adjust Volume under Music settings, I updated to iOS15 FYI, but don't have this option

I use my iPhone / iPad in Germany and see there: "Lautstärke anpassen". So I translated it in English.
But now I changed the language to English and see there: SoundCheck (instead of "Adjust Volume").

I tried it, still did not work - thank you so much for all your support Anke.

Yes, I tried to reproduce this and it stopped working. It was because I had apparently restarted Companion and reconnected it to the iPhone (iOS 15). Then it works.

So connect your device to Companion:

  1. record a sound, stop it
  2. reload the browser
  3. restart Companion and
  4. connect the device to Companion again.

This seems to work (regardless of → SoundCheck disabled or enabled).

Note: If you don't specify a path, the sound will be saved as a .m4a file, but if you specify the path, the sound will always be saved as an .aac file, regardless of the audio format (extension: m4a, flac, aiff, ac3, mp3, aac).

1 Like

I think I have an idea of the issue. By default, the audio subsystem is in play mode when you start the app. When you start a recording, we switch it into playAndRecord mode. My guess is that this causes the loudspeaker to stop being a route for the audio output since it could cause feedback with the mic. One fix we probably want to implement is to switch back to play mode after the recording is stopped. We also probably want to look into how we can support playback via speaker even when the mic is going because clearly other apps can do this.

2 Likes

But why does it work without any problems on my iPad Pro (iOS 14.8)?

Perhaps it might be because the iPhone in question does have a SIM card, allowing it to access the Phone app. Your iPad may not have said card, which overrules a certain optional setting...?

No, none of my Apple devices have a SIM card. These are all just test devices (iPhone 5, 6s, XR, iPad Pro 12.9).

1 Like

:confused:
My hunch was that it was probably the result of the phone having the ability to call, since this is usually what happens when you call somebody.

The most intriguing part is that it didn't work on Android at all:

Might there be something wrong with the Player component in its essence?