Mobile audio issues (safari & chrome)

First :

  1. I am referring to the vue.js sample code implementation client side & component side on the official document .
  2. Currently using cdn to import zoom meeting sdk, the version is v2.12.2 .
  3. Chrome is latest version (113), ios is (15.7.3)

Find problem :

  1. When using the computer version of chrome, the audio function of zoom is normal, but after joining the meeting using the mobile phone browser (chrome & safari), although the microphone is turned on, the user’s current voice cannot be heard.
  2. This problem has been found in versions starting from 2.8.0 and above.
    Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'toFixed')
    will be continuously displayed in devtool.
    This error is in this file 1502_js_media.min. js:1:478981 .

PS My English is not very good, so I used the Google translate, Sorry for the inconvenience brought to you.

1 Like

I am facing the exactly same problem, Did you found any solution for it ?

I found that if andriod clicks on the “three dots” in the upper right corner of the chrome browser, there is an option called “desktop site” that will switch to the computer version of the website after selection and the sound will become normal.
But deselect “desktop site” to switch back to the mobile version site, unfortunately the audio is still not normal.
I also hope to find a solution as soon as possible lol

Hey @williamhsu88157976

Thanks for your feedback.

Could you share your code snippet for it? And the detail of the test environment, including OS, model, whether enabledSharedArrayBuffer, and browser version.

Thanks
Vic

Here is my code snippet :
meetInterface.html

<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <!-- import #zmmtg-root css -->
    <link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.12.2/css/bootstrap.css" />
    <link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.12.2/css/react-select.css" />
    <style>
        #zmmtg-root {
            display: none;
        }
    </style>
</head>
<body>
    <!-- client side -->
    <div id="zmmtg-root"></div>
    <div id="aria-notify-area"></div>

    <script src="./js/lib/vue-2.6.12.js"></script>
    <script src="./js/lib/axios.min.js "></script>
    <!-- import ZoomMtg dependencies -->
    <script src="https://source.zoom.us/2.12.2/lib/vendor/react.min.js"></script>
    <script src="https://source.zoom.us/2.12.2/lib/vendor/react-dom.min.js"></script>
    <script src="https://source.zoom.us/2.12.2/lib/vendor/redux.min.js"></script>
    <script src="https://source.zoom.us/2.12.2/lib/vendor/redux-thunk.min.js"></script>
    <script src="https://source.zoom.us/2.12.2/lib/vendor/lodash.min.js"></script>
    <!-- import ZoomMtg For Client View -->
    <script src="https://source.zoom.us/zoom-meeting-2.12.2.min.js"></script>
    
    <script src="./js/meetInterfaceTest.js"></script>
</body>
</html>

meetInterface.js

new Vue({
    el: '#vueApp',
    created() {
      ZoomMtg.preLoadWasm();
      ZoomMtg.prepareWebSDK();
      ZoomMtg.setZoomJSLib('https://source.zoom.us/2.12.2/lib', '/av');
      ZoomMtg.i18n.setSupportLanguage(['zh-CN', 'zh-TW', 'en-US']); // only use specific languages.
      ZoomMtg.i18n.load('zh-TW');
      ZoomMtg.i18n.reload('zh-TW');
    },
    mounted() {
      this.initZoom()
      
      ZoomMtg.inMeetingServiceListener('onUserJoin', (data) => {
        console.log('inMeetingServiceListener onUserJoin', data);
      });
    },
    methods: {
      initZoom() {
        document.querySelector("#zmmtg-root").style.display = "block"
        //INIT & JOIN
        ZoomMtg.init({
          leaveUrl: "https://example.com.tw/",  
          success: (success) => {
            console.log('init success',success)
            ZoomMtg.join({
              meetingNumber: "82983895884",
              userName: "william",
              signature:"redacted",
              sdkKey: "redacted",
              userEmail: "william@gmail.com",
              passWord:"108580",
              tk: "",
              zak: "",
              success: (success) => {
                console.log('join success',success)
              },
              error: (err) => console.error(err)
            });
          },
          error: (err) => {
            console.error(err);
          }
        });
      }
    }
})

Test Device :
Device: Samsung Galaxy M11、iPhone 8
OS: 12 (Android)、15.7.3 (IOS)
Browser: Chrome、Safari
Browser Version : 113.0.5672.126 (Chrome)

error :

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'toFixed')
    at 1502_js_media.min.js:1:498738
    at 1502_js_media.min.js:1:497875

Hey @williamhsu88157976

Could you share the meeting number and approximate start and end time? So we can troubleshoot the issue.

Thanks
Vic

Sorry, I forgot to check the above content, I have re-edited the above snippet content.

Will the signature & sdkKey also be shared with you?

Hey @williamhsu88157976

Thank you. Please do not share the signature and sdkKey, it’s private data.

Thanks
Vic

Thanks for Vic’s reminder ~~ :laughing:

Hey @williamhsu88157976

Could you try adding more users to the meeting? And make sure Chrome on mobile browsers is using mobile version site.

After that, would you mind sharing the meeting number with us again? We will investigate the issue.

Thanks
Vic

thanks for posting this… you did a great job… :slight_smile:

Q1. Could you try adding more users to the meeting?
yes, I tried it and it works.

Q2. Would you mind sharing the meeting number with us again?
meeting number: “86987456887”
meeting password: “881316”
(If it expires, I’m sharing another one for you.)

Hey @williamhsu88157976

From my understanding, regardless of the toFixed errors on the console, the audio on mobile browsers with mobile site selected works as expected, and users in the meeting can hear each other. Is it right?

Thanks
Vic

Thanks for your reply ~
When I tested it, the display of the audio function was normal before entering the meeting (there is a green floating on the microphone).
But the audio function will be disabled after entering the meeting (there is no green floating on the microphone), that is, I cannot hear other user’s voice, the device cannot receive my own voice.

As long as the mobile device cannot hear the sound, the toFixed error will appear.
Is Mr.Vic test result normal ?

Hey @williamhsu88157976

That’s not a normal result.

We checked this error, theoretically, toFixed error will not affect the audio. Users in the meeting can still hear the voice of the user who has the errors.

We will investigate this issue in more depth.

Thanks
Vic

Hey @williamhsu88157976

Have you cleared the browser cache before testing?

From the logs, it indicated the user was using our old version of Web SDK.

Thanks
Vic

Here you go… try this on Mobile… … desktop is fine… you wont hear me… @vic.yang

If you use chrome… it does not work… if you use samsung internet… it does… ill wait for you to join…
using 2.12.2

https://www.auctionsoft-3.co.za/admin/zoom/meeting.php?name=Q0ROMi4xMi4yV2luMTAjY2hyb21lLzExMy4wLjAuMA%3D%3D&mn=86763902404&email=&pwd=795041&role=0&lang=en-US&signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJxZnp3clIwWEYyb25ZVlJOOWlzSGtKWG5WY1U3MzJja3FyRkciLCJpYXQiOjE2ODU0Mjk3NTQsImV4cCI6MTY4NTQzNjk1NCwibW4iOjg2NzYzOTAyNDA0LCJyb2xlIjowfQ.AiS_SGA8xNXUomS-Z0pNayihjKPsIpKC9_QaBi9H-5c&china=0&sdkKey=qfzwrR0XF2onYVRN9isHkJXnVcU732ckqrFG





Hey @ellis

Sorry, I cannot access an unknown link according to our security policy.

Can you contact our support to arrange a live troubleshooting?

Thanks
Vic

I understand… but then why dont you setup a zoom and just test it on a mobile device your side? You have access to zoom… and a mobile device… then you dont have to do a live demo with me :wink: