hasRecordPermission

Whether microphone permission is currently granted.

iOS/watchOS: AVAudioSession.recordPermission. Android: after bind(context); if unbound, returns true so the AudioEngine.openStream bind-time check still applies. JVM, JS, desktop, macOS, and tvOS return true (JS prompts on AudioStream.start).

Whether microphone permission is currently granted.

iOS/watchOS: AVAudioSession.recordPermission. Android: after bind(context); if unbound, returns true so the AudioEngine.openStream bind-time check still applies. JVM, JS, desktop, macOS, and tvOS return true (JS prompts on AudioStream.start).

Whether microphone permission is currently granted.

iOS/watchOS: AVAudioSession.recordPermission. Android: after bind(context); if unbound, returns true so the AudioEngine.openStream bind-time check still applies. JVM, JS, desktop, macOS, and tvOS return true (JS prompts on AudioStream.start).

Whether microphone permission is currently granted.

iOS/watchOS: AVAudioSession.recordPermission. Android: after bind(context); if unbound, returns true so the AudioEngine.openStream bind-time check still applies. JVM, JS, desktop, macOS, and tvOS return true (JS prompts on AudioStream.start).

Whether microphone permission is currently granted.

iOS/watchOS: AVAudioSession.recordPermission. Android: after bind(context); if unbound, returns true so the AudioEngine.openStream bind-time check still applies. JVM, JS, desktop, macOS, and tvOS return true (JS prompts on AudioStream.start).

Whether microphone permission is currently granted.

iOS/watchOS: AVAudioSession.recordPermission. Android: after bind(context); if unbound, returns true so the AudioEngine.openStream bind-time check still applies. JVM, JS, desktop, macOS, and tvOS return true (JS prompts on AudioStream.start).