ValveSoftware / Dota-2

Tracker for issues specific to Linux and Mac in the Reborn client. If you have a general issue or non-system-specific feature request please go to dev.dota2.com
470 stars 38 forks source link

In game voice does not work properly on Mac #1514

Open akevalion opened 5 years ago

akevalion commented 5 years ago

Computer Information: Manufacturer: Apple Model: MacBookPro13,2 Form Factor: Laptop No Touch Input Detected

Processor Information: CPU Vendor: GenuineIntel CPU Brand: Intel(R) Core(TM) i5-6267U CPU @ 2.90GHz CPU Family: 0x6 CPU Model: 0x4e CPU Stepping: 0x3 CPU Type: 0x0 Speed: 2900 Mhz 4 logical processors 2 physical processors HyperThreading: Supported FCMOV: Unsupported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Unsupported SSE41: Supported SSE42: Supported AES: Supported AVX: Supported CMPXCHG16B: Supported LAHF/SAHF: Supported PrefetchW: Unsupported

Operating System Version: MacOS 10.14.0 (64 bit)

Video Card: Driver: Intel Iris Graphics 550 Driver Version: 1.2 Driver Date: 0 0 0 OpenGL Version: 2.1 Desktop Color Depth: 32 bits per pixel Monitor Refresh Rate: 0 Hz VendorID: 0x8086 DeviceID: 0x1927 Revision: 0xa Number of Monitors: 1 Number of Logical Video Cards: 1 Primary Display Resolution: 1680 x 1050 Desktop Resolution: 1680 x 1050 Primary Display Size: 11.26" x 7.01" (13.23" diag) 28.6cm x 17.8cm (33.6cm diag) Primary VRAM: 0 MB

Memory: RAM: 8192 Mb

Miscellaneous: UI Language: English Media Type: DVD Total Hard Disk Space Available: 239072 Mb Largest Free Hard Disk Block: 40443 Mb VR Headset: None detected

Please describe your issue in as much detail as possible:

When I play dota2 on my personal computer, I can not use the microphone

Steps for reproducing this issue:

  1. Open dota2 on mac
  2. Play any public or ranked game
  3. try to activate the microphone to talk with your team mates.
  4. The sound does not work

You can use in the game, the options to open the audio settings

  1. In dota open settings dialog
  2. Go to Audio panel
  3. Click on the highlighted letters "steam voice settings"
  4. A "Steam - Settings" window will appear
  5. Go to "In-game voice" panel
  6. The button "Change device..." is disabled

For me is simple, the expected result is the microphone on dota2 on mac should be work

akevalion commented 5 years ago

This is the voice logs

(VoiceChat) Settings loaded from local storage Resetting voice chat state and initiating local mic access only (VoiceChat) Audio Worklets supported - high performance mic noisegate in use! (VoiceChat) NoiseGate setup: {"attack":0.800000011920929,"release":0.05999999865889549,"threshold":-36,"bufferSize":128,"sampleRate":44100} (VoiceChat) Inputs: 1 channels: 2 samples: 128 (VoiceChat) Outputs: 1 channels: 2 samples: 128 (VoiceChat) Noise gate had to re-initialize due to parameters changing (VoiceChat) Mic input now above threshold. (VoiceChat) Mic input below threshold, cutting output. (VoiceChat) Succcess! Voice is fully connected took 384ms to complete, 1 attempts made before success. (VoiceChat) Set selected mic default Resetting voice chat state and initiating local mic access only (VoiceChat) Audio Worklets supported - high performance mic noisegate in use! (VoiceChat) NoiseGate setup: {"attack":0.800000011920929,"release":0.05999999865889549,"threshold":-36,"bufferSize":128,"sampleRate":44100} (VoiceChat) Inputs: 1 channels: 2 samples: 128 (VoiceChat) Outputs: 1 channels: 2 samples: 128 (VoiceChat) Noise gate had to re-initialize due to parameters changing (VoiceChat) Mic input now above threshold. (VoiceChat) Mic input below threshold, cutting output. (VoiceChat) Succcess! Voice is fully connected took 281ms to complete, 1 attempts made before success. (VoiceChat) Set selected mic 96f996b1ea4a9d16fd9e1cc51064cafd5aaa4f99c9b4ea42fb4103372cc46d38 (WebRTC) Ending then auto-re-initiating voice chat - without leave of chatroom if joined as attempt is quick rejoin (VoiceChat) Delaying requested InitiateChat for 99 milliseconds to let prior EndVoiceChat finish... Resetting voice chat state and initiating local mic access only (VoiceChat) Audio Worklets supported - high performance mic noisegate in use! (VoiceChat) NoiseGate setup: {"attack":0.800000011920929,"release":0.05999999865889549,"threshold":-36,"bufferSize":128,"sampleRate":44100} (VoiceChat) Inputs: 1 channels: 2 samples: 128 (VoiceChat) Outputs: 1 channels: 2 samples: 128 (VoiceChat) Noise gate had to re-initialize due to parameters changing (VoiceChat) Mic input now above threshold. (VoiceChat) Mic input below threshold, cutting output. (VoiceChat) Succcess! Voice is fully connected took 189ms to complete, 1 attempts made before success. (VoiceChat) Set selected mic default (WebRTC) Ending then auto-re-initiating voice chat - without leave of chatroom if joined as attempt is quick rejoin (VoiceChat) Delaying requested InitiateChat for 99 milliseconds to let prior EndVoiceChat finish... Resetting voice chat state and initiating local mic access only (VoiceChat) Audio Worklets supported - high performance mic noisegate in use! (VoiceChat) NoiseGate setup: {"attack":0.800000011920929,"release":0.05999999865889549,"threshold":-36,"bufferSize":128,"sampleRate":44100} (VoiceChat) Inputs: 1 channels: 2 samples: 128 (VoiceChat) Outputs: 1 channels: 2 samples: 128 (VoiceChat) Noise gate had to re-initialize due to parameters changing (VoiceChat) Mic input now above threshold. (VoiceChat) Mic input below threshold, cutting output. (VoiceChat) Succcess! Voice is fully connected took 175ms to complete, 1 attempts made before success. Resetting voice chat state and initiating local mic access only (VoiceChat) Audio Worklets supported - high performance mic noisegate in use! (VoiceChat) NoiseGate setup: {"attack":0.800000011920929,"release":0.05999999865889549,"threshold":-36,"bufferSize":128,"sampleRate":44100} (VoiceChat) Inputs: 1 channels: 2 samples: 128 (VoiceChat) Outputs: 1 channels: 2 samples: 128 (VoiceChat) Noise gate had to re-initialize due to parameters changing (VoiceChat) Mic input now above threshold. (VoiceChat) Mic input below threshold, cutting output. (VoiceChat) Succcess! Voice is fully connected took 253ms to complete, 1 attempts made before success. (VoiceChat) Set selected mic 96f996b1ea4a9d16fd9e1cc51064cafd5aaa4f99c9b4ea42fb4103372cc46d38 (VoiceChat) Set selected output 154244d8c8eefa6d55f1a66752130bd58cfd8dfc6adafd5cf948dfc7e06dd662

stevew00dy commented 5 years ago

Confirmed - same problem. Default mic cant be changed. I use a headset but I can't select it from the steam overlay and there is nowhere else to change it.

ajisulist commented 4 years ago

Have same problem here

kir2206 commented 4 years ago
kriskate commented 4 years ago

any progress on this guys? MacOS Catalina

kriskate commented 4 years ago

turns out, steam doesn't request permission to use the microphone.

I've actually found a solution that works:

  1. go to System Preferences > Security and Privacy > Privacy > Full Disk Access and either select or drag and drop your terminal app into right side

  2. after that, in Terminal:

    sudo sqlite3 \~/Library/Application\\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892126);"
  3. add the following to your Steam.app/Contents/Info.plist (right click on Steam to get show contents):

    <key>NSMicrophoneUsageDescription</key>  
    <string>Voice chat</string> 

Running on MacOS Catalina 10.15.3

taken from this thread

TheGP commented 4 years ago

What about normal solution from Valve?

TheGP commented 4 years ago

@kriskate Error: unable to open database "~/Library/Application\": unable to open database file

kriskate commented 4 years ago

try this, no double backslash at Application\\ Support

sudo sqlite3 \~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892126);"
TheGP commented 4 years ago

sudo sqlite3 \~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892126);" Error: unable to open database "~/Library/Application Support/com.apple.TCC/TCC.db": unable to open database file

But without \ in the beginning it works. But mic still doesn't work sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892126);"

Btw does anyone here knows real valve developers? Can u pass that info to them to fix it in steam or dota?

kriskate commented 4 years ago

do you have this now? image

If no, something went wrong (maybe the Info.plist) If yes, just restart your mac and it should be fine

TheGP commented 4 years ago

@kriskate sorry for the delay, it worked and the microphone works correctly now. May you pass it to steam or data developers to make a fix?

akevalion commented 4 years ago

@kriskate Hi I have resolved this issue with on 3 Nov 2018 with your solution. @TheGP Thank you the mic is working now in my Mac

TheGP commented 4 years ago

Nobody knows here real developers? Or they are lazy to fix? May try to fire them or report. @akevalion welcome, as you can see developers of valve very incompetent that they can't even provide a working snippet.

TheGP commented 4 years ago

Why did you mark my previous comment as disruptive? You idiots can't fix the problem for 2 years now. How dumb you could be?

kriskate commented 4 years ago

Why did you mark my previous comment as disruptive? You idiots can't fix the problem for 2 years now. How dumb you could be?

someone would've marked it as disruptive as it's aggressive, same as it would probably happen to this one

hiepxuan2008 commented 3 years ago

turns out, steam doesn't request permission to use the microphone.

I've actually found a solution that works:

  1. go to System Preferences > Security and Privacy > Privacy > Full Disk Access and either select or drag and drop your terminal app into right side
  2. after that, in Terminal:
sudo sqlite3 \~/Library/Application\\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892126);"
  1. add the following to your Steam.app/Contents/Info.plist (right click on Steam to get show contents):
<key>NSMicrophoneUsageDescription</key>  
<string>Voice chat</string> 

Running on MacOS Catalina 10.15.3

taken from this thread

In my case, I just do step 1 and it works

  1. go to System Preferences > Security and Privacy > Privacy > Full Disk Access and either select or drag and drop your terminal app into right side
infinity899 commented 2 years ago

The sqlite command gives me Error: table access has 13 columns but 12 values were supplied

saada commented 1 year ago

Here's what worked for me to solve the 13 columns error.

sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,1,NULL,NULL,'UNUSED',NULL,0,0,1551892126);"

Mic is still not working for me.

saada commented 1 year ago

I found the identifier for dota2 app is com.valvesoftware.dota2. Tried to add that via the sql command but still no luck.

sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT INTO access (service, client, client_type, auth_value, auth_reason, auth_version, csreq, policy_id, indirect_object_identifier_type, indirect_object_identifier, indirect_object_code_identity, flags, last_modified)
  VALUES('kTCCServiceMicrophone','com.valvesoftware.dota2',0,2,2,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892127)"

After further investigation, I was able to identify the main console error coming from the steam_osx process

AudioHardware-mac-imp.cpp:660    AudioObjectGetPropertyData: no object with given ID 80

Anyone know what this means and how it could be fixed?