You need to use
tccutil to manage the privacy database -- this involves opening the Terminal and using the command line! Here's how to do it for QuickTime Player:
tccutil reset Camera com.apple.QuickTimePlayerX
tccutil reset Microphone com.apple.QuickTimePlayerX
You might need to reset Camera or Microphone permissions for other apps too. If you know the bundle ID of the app you're trying to use, you can use this command:
tccutil reset Camera [com.WHATEVERBUNDLE.YOURAPPID]
tccutil reset Microphone [com.WHATEVERBUNDLE.YOURAPPID]
Examples for Common Applications
tccutil reset Camera com.apple.Safari
tccutil reset Microphone com.apple.Safari
tccutil reset Camera org.mozilla.firefox
tccutil reset Microphone org.mozilla.firefox
tccutil reset Camera com.google.Chrome
tccutil reset Microphone com.google.Chrome
tccutil reset Camera com.tinyspeck.slackmacgap
tccutil reset Microphone com.tinyspeck.slackmacgap
The Nuclear Option
If you're running macOS Mojave (10.14) or if you just don't know the app bundle ID, then you'll need to reset Camera and Microphone permissions for all applications. This will remove any other apps that have been granted permission in the past, so you'll get prompted again by other apps.
tccutil reset Camera
tccutil reset Microphone
Once you've reset the camera and microphone permissions, you must quit your application before the change will take effect. Then you can restart your app and try using camera or microphone again, and the prompt should reappear.
Help, it's still not working!
Make sure that System Integrity Protection is enabled, otherwise these commands won't work correctly. To check, you can run
csrutil status and it should say
System Integrity Protection status: enabled.