diff --git a/docs/public/static/data/unversioned/expo-audio.json b/docs/public/static/data/unversioned/expo-audio.json index f63d60de1dcfd..65744403a58c1 100644 --- a/docs/public/static/data/unversioned/expo-audio.json +++ b/docs/public/static/data/unversioned/expo-audio.json @@ -1 +1 @@ -{"name":"expo-audio","kind":1,"originalName":"","children":[{"name":"AndroidAudioEncoder","kind":8,"kindString":"Enumeration","children":[{"name":"AAC","kind":16,"kindString":"Enumeration member","defaultValue":"3"},{"name":"AAC_ELD","kind":16,"kindString":"Enumeration member","defaultValue":"5"},{"name":"AMR_NB","kind":16,"kindString":"Enumeration member","defaultValue":"1"},{"name":"AMR_WB","kind":16,"kindString":"Enumeration member","defaultValue":"2"},{"name":"DEFAULT","kind":16,"kindString":"Enumeration member","defaultValue":"0"},{"name":"HE_AAC","kind":16,"kindString":"Enumeration member","defaultValue":"4"}]},{"name":"AndroidOutputFormat","kind":8,"kindString":"Enumeration","children":[{"name":"AAC_ADIF","kind":16,"kindString":"Enumeration member","defaultValue":"5"},{"name":"AAC_ADTS","kind":16,"kindString":"Enumeration member","defaultValue":"6"},{"name":"AMR_NB","kind":16,"kindString":"Enumeration member","defaultValue":"3"},{"name":"AMR_WB","kind":16,"kindString":"Enumeration member","defaultValue":"4"},{"name":"DEFAULT","kind":16,"kindString":"Enumeration member","defaultValue":"0"},{"name":"MPEG2TS","kind":16,"kindString":"Enumeration member","defaultValue":"8"},{"name":"MPEG_4","kind":16,"kindString":"Enumeration member","defaultValue":"2"},{"name":"RTP_AVP","kind":16,"kindString":"Enumeration member","defaultValue":"7"},{"name":"THREE_GPP","kind":16,"kindString":"Enumeration member","defaultValue":"1"},{"name":"WEBM","kind":16,"kindString":"Enumeration member","defaultValue":"9"}]},{"name":"AudioChannel","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"frames","kind":1024,"kindString":"Property","comment":{"shortText":"All samples for this specific Audio Channel in PCM Buffer format (-1 to 1)."},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]}}},{"name":"AudioMode","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"allowsRecordingIOS","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if recording is enabled on iOS.\n> When this flag is set to `true`, playback may be routed to the phone receiver instead of to the speaker.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"interruptionModeAndroid","kind":1024,"kindString":"Property","comment":{"shortText":"An enum selecting how your experience's audio should interact with the audio from other apps on Android."},"type":{"type":"reference","name":"InterruptionModeAndroid"}},{"name":"interruptionModeIOS","kind":1024,"kindString":"Property","comment":{"shortText":"An enum selecting how your experience's audio should interact with the audio from other apps on iOS."},"type":{"type":"reference","name":"InterruptionModeIOS"}},{"name":"playThroughEarpieceAndroid","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if the audio is routed to earpiece on Android.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"playsInSilentModeIOS","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if your experience's audio should play in silent mode on iOS.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"shouldDuckAndroid","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if your experience's audio should automatically be lowered in volume (\"duck\") if audio from another\napp interrupts your experience. If `false`, audio from other apps will pause your audio.","tags":[{"tag":"default","text":"true\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"staysActiveInBackground","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if the audio session (playback or recording) should stay active even when the app goes into background.\n> This is not available in Expo Go for iOS, it will only work in standalone apps.\n> To enable it for standalone apps, [follow the instructions below](#playing-or-recording-audio-in-background-ios)\n> to add `UIBackgroundModes` to your app configuration.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}}]}}},{"name":"AudioSample","kind":4194304,"kindString":"Type alias","comment":{"shortText":"Object passed to the `onAudioSampleReceived` function. Represents a single sample from an audio source.\nThe sample contains all frames (PCM Buffer values) for each channel of the audio, so if the audio is _stereo_ (interleaved),\nthere will be two channels, one for left and one for right audio."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"channels","kind":1024,"kindString":"Property","comment":{"shortText":"An array representing the data from each channel in PCM Buffer format. Array elements are objects in the following format: `{ frames: number[] }`,\nwhere each frame is a number in PCM Buffer format (`-1` to `1` range)."},"type":{"type":"array","elementType":{"type":"reference","name":"AudioChannel"}}},{"name":"timestamp","kind":1024,"kindString":"Property","comment":{"shortText":"A number representing the timestamp of the current sample in seconds, relative to the audio track's timeline.\n> **Known issue:** When using the `ExoPlayer` Android implementation, the timestamp is always `-1`."},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"getPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for audio recording.","returns":"A promise that resolves to an object of type `PermissionResponse`.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"InterruptionModeAndroid","kind":8,"kindString":"Enumeration","children":[{"name":"DoNotMix","kind":16,"kindString":"Enumeration member","comment":{"shortText":"If this option is set, your experience's audio interrupts audio from other apps."},"defaultValue":"1"},{"name":"DuckOthers","kind":16,"kindString":"Enumeration member","comment":{"shortText":"**This is the default option.** If this option is set, your experience's audio lowers the volume (\"ducks\") of audio from other apps while your audio plays."},"defaultValue":"2"}]},{"name":"InterruptionModeIOS","kind":8,"kindString":"Enumeration","children":[{"name":"DoNotMix","kind":16,"kindString":"Enumeration member","comment":{"shortText":"If this option is set, your experience's audio interrupts audio from other apps."},"defaultValue":"1"},{"name":"DuckOthers","kind":16,"kindString":"Enumeration member","comment":{"shortText":"If this option is set, your experience's audio lowers the volume (\"ducks\") of audio from other apps while your audio plays."},"defaultValue":"2"},{"name":"MixWithOthers","kind":16,"kindString":"Enumeration member","comment":{"shortText":"**This is the default option.** If this option is set, your experience's audio is mixed with audio playing in background apps."},"defaultValue":"0"}]},{"name":"IOSAudioQuality","kind":8,"kindString":"Enumeration","children":[{"name":"HIGH","kind":16,"kindString":"Enumeration member","defaultValue":"96"},{"name":"LOW","kind":16,"kindString":"Enumeration member","defaultValue":"32"},{"name":"MAX","kind":16,"kindString":"Enumeration member","defaultValue":"127"},{"name":"MEDIUM","kind":16,"kindString":"Enumeration member","defaultValue":"64"},{"name":"MIN","kind":16,"kindString":"Enumeration member","defaultValue":"0"}]},{"name":"IOSBitRateStrategy","kind":8,"kindString":"Enumeration","children":[{"name":"CONSTANT","kind":16,"kindString":"Enumeration member","defaultValue":"0"},{"name":"LONG_TERM_AVERAGE","kind":16,"kindString":"Enumeration member","defaultValue":"1"},{"name":"VARIABLE","kind":16,"kindString":"Enumeration member","defaultValue":"3"},{"name":"VARIABLE_CONSTRAINED","kind":16,"kindString":"Enumeration member","defaultValue":"2"}]},{"name":"IOSOutputFormat","kind":8,"kindString":"Enumeration","comment":{"shortText":"> **Note** Not all of the iOS formats included in this list of constants are currently supported by iOS,\n> in spite of appearing in the Apple source code. For an accurate list of formats supported by iOS, see\n> [Core Audio Codecs](https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html#//apple_ref/doc/uid/TP40003577-CH10-SW26)\n> and [iPhone Audio File Formats](https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html#//apple_ref/doc/uid/TP40003577-CH10-SW57)."},"children":[{"name":"60958AC3","kind":16,"kindString":"Enumeration member","defaultValue":"\"cac3\""},{"name":"AC3","kind":16,"kindString":"Enumeration member","defaultValue":"\"ac-3\""},{"name":"AES3","kind":16,"kindString":"Enumeration member","defaultValue":"\"aes3\""},{"name":"ALAW","kind":16,"kindString":"Enumeration member","defaultValue":"\"alaw\""},{"name":"AMR","kind":16,"kindString":"Enumeration member","defaultValue":"\"samr\""},{"name":"AMR_WB","kind":16,"kindString":"Enumeration member","defaultValue":"\"sawb\""},{"name":"APPLEIMA4","kind":16,"kindString":"Enumeration member","defaultValue":"\"ima4\""},{"name":"APPLELOSSLESS","kind":16,"kindString":"Enumeration member","defaultValue":"\"alac\""},{"name":"AUDIBLE","kind":16,"kindString":"Enumeration member","defaultValue":"\"AUDB\""},{"name":"DVIINTELIMA","kind":16,"kindString":"Enumeration member","defaultValue":"1836253201"},{"name":"ENHANCEDAC3","kind":16,"kindString":"Enumeration member","defaultValue":"\"ec-3\""},{"name":"ILBC","kind":16,"kindString":"Enumeration member","defaultValue":"\"ilbc\""},{"name":"LINEARPCM","kind":16,"kindString":"Enumeration member","defaultValue":"\"lpcm\""},{"name":"MACE3","kind":16,"kindString":"Enumeration member","defaultValue":"\"MAC3\""},{"name":"MACE6","kind":16,"kindString":"Enumeration member","defaultValue":"\"MAC6\""},{"name":"MICROSOFTGSM","kind":16,"kindString":"Enumeration member","defaultValue":"1836253233"},{"name":"MPEG4AAC","kind":16,"kindString":"Enumeration member","defaultValue":"\"aac \""},{"name":"MPEG4AAC_ELD","kind":16,"kindString":"Enumeration member","defaultValue":"\"aace\""},{"name":"MPEG4AAC_ELD_SBR","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacf\""},{"name":"MPEG4AAC_ELD_V2","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacg\""},{"name":"MPEG4AAC_HE","kind":16,"kindString":"Enumeration member","defaultValue":"\"aach\""},{"name":"MPEG4AAC_HE_V2","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacp\""},{"name":"MPEG4AAC_LD","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacl\""},{"name":"MPEG4AAC_SPATIAL","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacs\""},{"name":"MPEG4CELP","kind":16,"kindString":"Enumeration member","defaultValue":"\"celp\""},{"name":"MPEG4HVXC","kind":16,"kindString":"Enumeration member","defaultValue":"\"hvxc\""},{"name":"MPEG4TWINVQ","kind":16,"kindString":"Enumeration member","defaultValue":"\"twvq\""},{"name":"MPEGLAYER1","kind":16,"kindString":"Enumeration member","defaultValue":"\".mp1\""},{"name":"MPEGLAYER2","kind":16,"kindString":"Enumeration member","defaultValue":"\".mp2\""},{"name":"MPEGLAYER3","kind":16,"kindString":"Enumeration member","defaultValue":"\".mp3\""},{"name":"QDESIGN","kind":16,"kindString":"Enumeration member","defaultValue":"\"QDMC\""},{"name":"QDESIGN2","kind":16,"kindString":"Enumeration member","defaultValue":"\"QDM2\""},{"name":"QUALCOMM","kind":16,"kindString":"Enumeration member","defaultValue":"\"Qclp\""},{"name":"ULAW","kind":16,"kindString":"Enumeration member","defaultValue":"\"ulaw\""}]},{"name":"PermissionHookOptions","kind":4194304,"kindString":"Type alias","typeParameter":[{"name":"Options","kind":131072,"kindString":"Type parameter","type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","name":"PermissionHookBehavior"},{"type":"reference","name":"Options"}]}},{"name":"PermissionResponse","kind":256,"kindString":"Interface","comment":{"shortText":"An object obtained by permissions get and request functions."},"children":[{"name":"canAskAgain","kind":1024,"kindString":"Property","comment":{"shortText":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","kind":1024,"kindString":"Property","comment":{"shortText":"Determines time when the permission expires."},"type":{"type":"reference","name":"PermissionExpiration"}},{"name":"granted","kind":1024,"kindString":"Property","comment":{"shortText":"A convenience boolean that indicates if the permission is granted."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","kind":1024,"kindString":"Property","comment":{"shortText":"Determines the status of the permission."},"type":{"type":"reference","name":"PermissionStatus"}}]},{"name":"PermissionStatus","kind":8,"kindString":"Enumeration","children":[{"name":"DENIED","kind":16,"kindString":"Enumeration member","comment":{"shortText":"User has denied the permission."},"defaultValue":"\"denied\""},{"name":"GRANTED","kind":16,"kindString":"Enumeration member","comment":{"shortText":"User has granted the permission."},"defaultValue":"\"granted\""},{"name":"UNDETERMINED","kind":16,"kindString":"Enumeration member","comment":{"shortText":"User hasn't granted or denied the permission yet."},"defaultValue":"\"undetermined\""}]},{"name":"PitchCorrectionQuality","kind":8,"kindString":"Enumeration","comment":{"shortText":"Check [official Apple documentation](https://developer.apple.com/documentation/avfoundation/avaudiotimepitchalgorithmlowqualityzerolatency) for more information."},"children":[{"name":"High","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Equivalent to `AVAudioTimePitchAlgorithmSpectral`."}},{"name":"Low","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Equivalent to `AVAudioTimePitchAlgorithmLowQualityZeroLatency`."}},{"name":"Medium","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Equivalent to `AVAudioTimePitchAlgorithmTimeDomain`."}}]},{"name":"Recording","kind":128,"kindString":"Class","comment":{"shortText":"This class represents an audio recording. After creating an instance of this class, `prepareToRecordAsync`\nmust be called in order to record audio. Once recording is finished, call `stopAndUnloadAsync`. Note that\nonly one recorder is allowed to exist in the state between `prepareToRecordAsync` and `stopAndUnloadAsync`\nat any given time.","text":"Note that your experience must request audio recording permissions in order for recording to function.\nSee the [`Permissions` module](/guides/permissions) for more details.\n\nAdditionally, audio recording is [not supported in the iOS Simulator](/workflow/ios-simulator/#limitations).\n","tags":[{"tag":"example","text":"\n```ts\nconst recording = new Audio.Recording();\ntry {\n await recording.prepareToRecordAsync(Audio.RecordingOptionsPresets.HIGH_QUALITY);\n await recording.startAsync();\n // You are now recording!\n} catch (error) {\n // An error occurred!\n}\n```\n"},{"tag":"returns","text":"A newly constructed instance of `Audio.Recording`.\n"}]},"children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new Recording","kind":16384,"kindString":"Constructor signature","type":{"type":"reference","name":"Recording"}}]},{"name":"_canRecord","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_finalDurationMillis","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"},"defaultValue":"0"},{"name":"_isDoneRecording","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_onRecordingStatusUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"_options","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"RecordingOptions"}]},"defaultValue":"null"},{"name":"_progressUpdateIntervalMillis","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"},"defaultValue":"_DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS"},{"name":"_progressUpdateTimeoutVariable","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"number"}]},"defaultValue":"null"},{"name":"_subscription","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"Subscription"}]},"defaultValue":"null"},{"name":"_uri","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"string"}]},"defaultValue":"null"},{"name":"_callOnRecordingStatusUpdateForNewStatus","kind":2048,"kindString":"Method","signatures":[{"name":"_callOnRecordingStatusUpdateForNewStatus","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_cleanupForUnloadedRecorder","kind":2048,"kindString":"Method","signatures":[{"name":"_cleanupForUnloadedRecorder","kind":4096,"kindString":"Call signature","parameters":[{"name":"finalStatus","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"_disablePolling","kind":2048,"kindString":"Method","signatures":[{"name":"_disablePolling","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_enablePollingIfNecessaryAndPossible","kind":2048,"kindString":"Method","signatures":[{"name":"_enablePollingIfNecessaryAndPossible","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_performOperationAndHandleStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"_performOperationAndHandleStatusAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"operation","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"_pollingLoop","kind":2048,"kindString":"Method","signatures":[{"name":"_pollingLoop","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createNewLoadedSound","kind":2048,"kindString":"Method","signatures":[{"name":"createNewLoadedSound","kind":4096,"kindString":"Call signature","comment":{"tags":[{"tag":"deprecated","text":"Use `createNewLoadedSoundAsync()` instead.\n"}]},"parameters":[{"name":"initialStatus","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createNewLoadedSoundAsync","kind":2048,"kindString":"Method","signatures":[{"name":"createNewLoadedSoundAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Creates and loads a new `Sound` object to play back the `Recording`. Note that this will only succeed once the `Recording`\nis done recording and `stopAndUnloadAsync()` has been called.","returns":"A `Promise` that is rejected if creation failed, or fulfilled with the `SoundObject`.\n"},"parameters":[{"name":"initialStatus","kind":32768,"kindString":"Parameter","comment":{"shortText":"The initial intended `PlaybackStatusToSet` of the sound, whose values will override the default initial playback status.\nThis value defaults to `{}` if no parameter is passed. See the [AV documentation](/versions/latest/sdk/av) for details on `PlaybackStatusToSet`\nand the default initial playback status."},"type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `PlaybackStatus`. This value defaults to `null` if no parameter is passed.\nSee the [AV documentation](/versions/latest/sdk/av) for details on the functionality provided by `onPlaybackStatusUpdate`\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getAvailableInputs","kind":2048,"kindString":"Method","signatures":[{"name":"getAvailableInputs","kind":4096,"kindString":"Call signature","comment":{"shortText":"Returns a list of available recording inputs. This method can only be called if the `Recording` has been prepared.","returns":"A `Promise` that is fulfilled with an array of `RecordingInput` objects.\n"},"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"RecordingInput"}}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getCurrentInput","kind":2048,"kindString":"Method","signatures":[{"name":"getCurrentInput","kind":4096,"kindString":"Call signature","comment":{"shortText":"Returns the currently-selected recording input. This method can only be called if the `Recording` has been prepared.","returns":"A `Promise` that is fulfilled with a `RecordingInput` object.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingInput"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"getStatusAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Gets the `status` of the `Recording`.","returns":"A `Promise` that is resolved with the `RecordingStatus` object.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getURI","kind":2048,"kindString":"Method","signatures":[{"name":"getURI","kind":4096,"kindString":"Call signature","comment":{"shortText":"Gets the local URI of the `Recording`. Note that this will only succeed once the `Recording` is prepared\nto record. On web, this will not return the URI until the recording is finished.","returns":"A `string` with the local URI of the `Recording`, or `null` if the `Recording` is not prepared\nto record (or, on Web, if the recording has not finished).\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"string"}]}}]},{"name":"pauseAsync","kind":2048,"kindString":"Method","signatures":[{"name":"pauseAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Pauses recording. This method can only be called if the `Recording` has been prepared.","text":"> This is only available on Android API version 24 and later.\n","returns":"A `Promise` that is fulfilled when recording has paused, or rejects if recording could not be paused.\nIf the Android API version is less than 24, the `Promise` will reject. The promise is resolved with the\n`RecordingStatus` of the recording.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"prepareToRecordAsync","kind":2048,"kindString":"Method","signatures":[{"name":"prepareToRecordAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Loads the recorder into memory and prepares it for recording. This must be called before calling `startAsync()`.\nThis method can only be called if the `Recording` instance has never yet been prepared.","returns":"A `Promise` that is fulfilled when the recorder is loaded and prepared, or rejects if this failed. If another `Recording` exists\nin your experience that is currently prepared to record, the `Promise` will reject. If the `RecordingOptions` provided are invalid,\nthe `Promise` will also reject. The promise is resolved with the `RecordingStatus` of the recording.\n"},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","comment":{"shortText":"`RecordingOptions` for the recording, including sample rate, bitrate, channels, format, encoder, and extension.\nIf no options are passed to `prepareToRecordAsync()`, the recorder will be created with options `Audio.RecordingOptionsPresets.LOW_QUALITY`.\n"},"type":{"type":"reference","name":"RecordingOptions"},"defaultValue":"RecordingOptionsPresets.LOW_QUALITY"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setInput","kind":2048,"kindString":"Method","signatures":[{"name":"setInput","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets the current recording input.","returns":"A `Promise` that is resolved if successful or rejected if not.\n"},"parameters":[{"name":"inputUid","kind":32768,"kindString":"Parameter","comment":{"shortText":"The uid of a `RecordingInput`."},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setOnRecordingStatusUpdate","kind":2048,"kindString":"Method","signatures":[{"name":"setOnRecordingStatusUpdate","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called regularly with the `RecordingStatus` of the `Recording`.","text":"`onRecordingStatusUpdate` will be called when another call to the API for this recording completes (such as `prepareToRecordAsync()`,\n`startAsync()`, `getStatusAsync()`, or `stopAndUnloadAsync()`), and will also be called at regular intervals while the recording can record.\nCall `setProgressUpdateInterval()` to modify the interval with which `onRecordingStatusUpdate` is called while the recording can record.\n"},"parameters":[{"name":"onRecordingStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `RecordingStatus`.\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setProgressUpdateInterval","kind":2048,"kindString":"Method","signatures":[{"name":"setProgressUpdateInterval","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets the interval with which `onRecordingStatusUpdate` is called while the recording can record.\nSee `setOnRecordingStatusUpdate` for details. This value defaults to 500 milliseconds."},"parameters":[{"name":"progressUpdateIntervalMillis","kind":32768,"kindString":"Parameter","comment":{"shortText":"The new interval between calls of `onRecordingStatusUpdate`.\n"},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"startAsync","kind":2048,"kindString":"Method","signatures":[{"name":"startAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Begins recording. This method can only be called if the `Recording` has been prepared.","returns":"A `Promise` that is fulfilled when recording has begun, or rejects if recording could not be started.\nThe promise is resolved with the `RecordingStatus` of the recording.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"stopAndUnloadAsync","kind":2048,"kindString":"Method","signatures":[{"name":"stopAndUnloadAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Stops the recording and deallocates the recorder from memory. This reverts the `Recording` instance\nto an unprepared state, and another `Recording` instance must be created in order to record again.\nThis method can only be called if the `Recording` has been prepared.","text":"> On Android this method may fail with `E_AUDIO_NODATA` when called too soon after `startAsync` and\n> no audio data has been recorded yet. In that case the recorded file will be invalid and should be discarded.\n","returns":"A `Promise` that is fulfilled when recording has stopped, or rejects if recording could not be stopped.\nThe promise is resolved with the `RecordingStatus` of the recording.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"createAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Creates and starts a recording using the given options, with optional `onRecordingStatusUpdate` and `progressUpdateIntervalMillis`.","text":"```ts\nconst { recording, status } = await Audio.Recording.createAsync(\n options,\n onRecordingStatusUpdate,\n progressUpdateIntervalMillis\n);\n\n// Which is equivalent to the following:\nconst recording = new Audio.Recording();\nawait recording.prepareToRecordAsync(options);\nrecording.setOnRecordingStatusUpdate(onRecordingStatusUpdate);\nawait recording.startAsync();\n```\n","returns":"A `Promise` that is rejected if creation failed, or fulfilled with the following dictionary if creation succeeded.\n","tags":[{"tag":"example","text":"\n```ts\ntry {\n const { recording: recordingObject, status } = await Audio.Recording.createAsync(\n Audio.RecordingOptionsPresets.HIGH_QUALITY\n );\n // You are now recording!\n} catch (error) {\n // An error occurred!\n}\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","comment":{"shortText":"Options for the recording, including sample rate, bitrate, channels, format, encoder, and extension. If no options are passed to,\nthe recorder will be created with options `Audio.RecordingOptionsPresets.LOW_QUALITY`. See below for details on `RecordingOptions`."},"type":{"type":"reference","name":"RecordingOptions"},"defaultValue":"RecordingOptionsPresets.LOW_QUALITY"},{"name":"onRecordingStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `status` (a dictionary, described in `getStatusAsync`)."},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"progressUpdateIntervalMillis","kind":32768,"kindString":"Parameter","comment":{"shortText":"The interval between calls of `onRecordingStatusUpdate`. This value defaults to 500 milliseconds.\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"number"}]},"defaultValue":"null"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}]},{"name":"RecordingInput","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"name","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"uid","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}}]}}},{"name":"RecordingObject","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"recording","kind":1024,"kindString":"Property","comment":{"shortText":"The newly created and started `Recording` object."},"type":{"type":"reference","name":"Recording"}},{"name":"status","kind":1024,"kindString":"Property","comment":{"shortText":"The `RecordingStatus` of the `Recording` object. See the [AV documentation](/versions/latest/sdk/av) for further information."},"type":{"type":"reference","name":"RecordingStatus"}}]}}},{"name":"RecordingOptions","kind":4194304,"kindString":"Type alias","comment":{"shortText":"The recording extension, sample rate, bitrate, channels, format, encoder, etc. which can be customized by passing options to `prepareToRecordAsync()`.","text":"We provide the following preset options for convenience, as used in the example above. See below for the definitions of these presets.\n- `Audio.RecordingOptionsPresets.HIGH_QUALITY`\n- `Audio.RecordingOptionsPresets.LOW_QUALITY`\n\nWe also provide the ability to define your own custom recording options, but **we recommend you use the presets,\nas not all combinations of options will allow you to successfully `prepareToRecordAsync()`.**\nYou will have to test your custom options on iOS and Android to make sure it's working. In the future,\nwe will enumerate all possible valid combinations, but at this time, our goal is to make the basic use-case easy (with presets)\nand the advanced use-case possible (by exposing all the functionality available on all supported platforms).\n"},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"android","kind":1024,"kindString":"Property","comment":{"shortText":"Recording options for the Android platform."},"type":{"type":"reference","name":"RecordingOptionsAndroid"}},{"name":"ios","kind":1024,"kindString":"Property","comment":{"shortText":"Recording options for the iOS platform."},"type":{"type":"reference","name":"RecordingOptionsIOS"}},{"name":"isMeteringEnabled","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean that determines whether audio level information will be part of the status object under the \"metering\" key."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"keepAudioActiveHint","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean that hints to keep the audio active after `prepareToRecordAsync` completes.\nSetting this value can improve the speed at which the recording starts. Only set this value to `true` when you call `startAsync`\nimmediately after `prepareToRecordAsync`. This value is automatically set when using `Audio.recording.createAsync()`."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"web","kind":1024,"kindString":"Property","comment":{"shortText":"Recording options for the Web platform."},"type":{"type":"reference","name":"RecordingOptionsWeb"}}]}}},{"name":"RecordingOptionsAndroid","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"audioEncoder","kind":1024,"kindString":"Property","comment":{"shortText":"The desired audio encoder. See the [`AndroidAudioEncoder`](#androidaudioencoder) enum for all valid values."},"type":{"type":"union","types":[{"type":"reference","name":"AndroidAudioEncoder"},{"type":"intrinsic","name":"number"}]}},{"name":"bitRate","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired bit rate.","text":"Note that `prepareToRecordAsync()` may perform additional checks on the parameter to make sure whether the specified\nbit rate is applicable, and sometimes the passed bitRate will be clipped internally to ensure the audio recording\ncan proceed smoothly based on the capabilities of the platform.\n","tags":[{"tag":"example","text":"`128000`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"extension","kind":1024,"kindString":"Property","comment":{"shortText":"The desired file extension. Example valid values are `.3gp` and `.m4a`.\nFor more information, see the [Android docs](https://developer.android.com/guide/topics/media/media-formats)\nfor supported output formats."},"type":{"type":"intrinsic","name":"string"}},{"name":"maxFileSize","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired maximum file size in bytes, after which the recording will stop (but `stopAndUnloadAsync()` must still\nbe called after this point).","tags":[{"tag":"example","text":"`65536`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"numberOfChannels","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired number of channels.","text":"Note that `prepareToRecordAsync()` may perform additional checks on the parameter to make sure whether the specified\nnumber of audio channels are applicable.\n","tags":[{"tag":"example","text":"`1`, `2`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"outputFormat","kind":1024,"kindString":"Property","comment":{"shortText":"The desired file format. See the [`AndroidOutputFormat`](#androidoutputformat) enum for all valid values."},"type":{"type":"union","types":[{"type":"reference","name":"AndroidOutputFormat"},{"type":"intrinsic","name":"number"}]}},{"name":"sampleRate","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired sample rate.","text":"Note that the sampling rate depends on the format for the audio recording, as well as the capabilities of the platform.\nFor instance, the sampling rate supported by AAC audio coding standard ranges from 8 to 96 kHz,\nthe sampling rate supported by AMRNB is 8kHz, and the sampling rate supported by AMRWB is 16kHz.\nPlease consult with the related audio coding standard for the supported audio sampling rate.\n","tags":[{"tag":"example","text":"44100\n"}]},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"RecordingOptionsIOS","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"audioQuality","kind":1024,"kindString":"Property","comment":{"shortText":"The desired audio quality. See the [`IOSAudioQuality`](#iosaudioquality) enum for all valid values."},"type":{"type":"union","types":[{"type":"reference","name":"IOSAudioQuality"},{"type":"intrinsic","name":"number"}]}},{"name":"bitDepthHint","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired bit depth hint.","tags":[{"tag":"example","text":"`16`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"bitRate","kind":1024,"kindString":"Property","comment":{"shortText":"The desired bit rate.","tags":[{"tag":"example","text":"`128000`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"bitRateStrategy","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired bit rate strategy. See the next section for an enumeration of all valid values of `bitRateStrategy`."},"type":{"type":"intrinsic","name":"number"}},{"name":"extension","kind":1024,"kindString":"Property","comment":{"shortText":"The desired file extension.","tags":[{"tag":"example","text":"`'.caf'`\n"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"linearPCMBitDepth","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired PCM bit depth.","tags":[{"tag":"example","text":"`16`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"linearPCMIsBigEndian","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean describing if the PCM data should be formatted in big endian."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"linearPCMIsFloat","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean describing if the PCM data should be encoded in floating point or integral values."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"numberOfChannels","kind":1024,"kindString":"Property","comment":{"shortText":"The desired number of channels.","tags":[{"tag":"example","text":"`1`, `2`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"outputFormat","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired file format. See the [`IOSOutputFormat`](#iosoutputformat) enum for all valid values."},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"IOSOutputFormat"},{"type":"intrinsic","name":"number"}]}},{"name":"sampleRate","kind":1024,"kindString":"Property","comment":{"shortText":"The desired sample rate.","tags":[{"tag":"example","text":"`44100`\n"}]},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"RecordingOptionsPresets","kind":32,"kindString":"Variable","flags":{"isConst":true},"comment":{"shortText":"Constant which contains definitions of the two preset examples of `RecordingOptions`, as implemented in the Audio SDK.","text":"# `HIGH_QUALITY`\n```ts\nRecordingOptionsPresets.HIGH_QUALITY = {\n isMeteringEnabled: true,\n android: {\n extension: '.m4a',\n outputFormat: AndroidOutputFormat.MPEG_4,\n audioEncoder: AndroidAudioEncoder.AAC,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n },\n ios: {\n extension: '.m4a',\n outputFormat: IOSOutputFormat.MPEG4AAC,\n audioQuality: IOSAudioQuality.MAX,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n linearPCMBitDepth: 16,\n linearPCMIsBigEndian: false,\n linearPCMIsFloat: false,\n },\n web: {\n mimeType: 'audio/webm',\n bitsPerSecond: 128000,\n },\n};\n```\n\n# `LOW_QUALITY`\n```ts\nRecordingOptionsPresets.LOW_QUALITY = {\n isMeteringEnabled: true,\n android: {\n extension: '.3gp',\n outputFormat: AndroidOutputFormat.THREE_GPP,\n audioEncoder: AndroidAudioEncoder.AMR_NB,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n },\n ios: {\n extension: '.caf',\n audioQuality: IOSAudioQuality.MIN,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n linearPCMBitDepth: 16,\n linearPCMIsBigEndian: false,\n linearPCMIsFloat: false,\n },\n web: {\n mimeType: 'audio/webm',\n bitsPerSecond: 128000,\n },\n};\n```\n"},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"RecordingOptions"}],"qualifiedName":"Record","package":"typescript","name":"Record"},"defaultValue":"..."},{"name":"RecordingOptionsWeb","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"bitsPerSecond","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"mimeType","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}]}}},{"name":"RecordingStatus","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"canRecord","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean describing if the `Recording` can initiate the recording."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"durationMillis","kind":1024,"kindString":"Property","comment":{"shortText":"The current duration of the recorded audio or the final duration is the recording has been stopped."},"type":{"type":"intrinsic","name":"number"}},{"name":"isDoneRecording","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean describing if the `Recording` has been stopped."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"isRecording","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean describing if the `Recording` is currently recording."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"mediaServicesDidReset","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean indicating whether media services were reset during recording. This may occur if the active input ceases to be available\nduring recording.","text":"For example: airpods are the active input and they run out of batteries during recording.\n","tags":[{"tag":"platform","text":"ios\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"metering","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A number that's the most recent reading of the loudness in dB. The value ranges from `–160` dBFS, indicating minimum power,\nto `0` dBFS, indicating maximum power. Present or not based on Recording options. See `RecordingOptions` for more information."},"type":{"type":"intrinsic","name":"number"}},{"name":"uri","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]}}},{"name":"requestPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for audio recording.","returns":"A promise that resolves to an object of type `PermissionResponse`.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setAudioModeAsync","kind":64,"kindString":"Function","signatures":[{"name":"setAudioModeAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"We provide this API to customize the audio experience on iOS and Android.","returns":"A `Promise` that will reject if the audio mode could not be enabled for the device.\n"},"parameters":[{"name":"partialMode","kind":32768,"kindString":"Parameter","comment":{},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AudioMode"}],"qualifiedName":"Partial","package":"typescript","name":"Partial"}}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setIsEnabledAsync","kind":64,"kindString":"Function","signatures":[{"name":"setIsEnabledAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Audio is enabled by default, but if you want to write your own Audio API in a bare workflow app, you might want to disable the Audio API.","returns":"A `Promise` that will reject if audio playback could not be enabled for the device.\n"},"parameters":[{"name":"value","kind":32768,"kindString":"Parameter","comment":{"shortText":"`true` enables Audio, and `false` disables it."},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"Sound","kind":128,"kindString":"Class","comment":{"shortText":"This class represents a sound corresponding to an Asset or URL.","tags":[{"tag":"returns","text":"A newly constructed instance of `Audio.Sound`.\n"},{"tag":"example","text":"\n```ts\nconst sound = new Audio.Sound();\ntry {\n await sound.loadAsync(require('./assets/sounds/hello.mp3'));\n await sound.playAsync();\n // Your sound is playing!\n\n // Don't forget to unload the sound from memory\n // when you are done using the Sound object\n await sound.unloadAsync();\n} catch (error) {\n // An error occurred!\n}\n```\n\n> Method not described below and the rest of the API for `Audio.Sound` is the same as the imperative playback API for `Video`.\n> See the [AV documentation](/versions/latest/sdk/av) for further information.\n"}]},"children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new Sound","kind":16384,"kindString":"Constructor signature","type":{"type":"reference","name":"Sound"}}]},{"name":"_coalesceStatusUpdatesInMillis","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"},"defaultValue":"100"},{"name":"_eventEmitter","kind":1024,"kindString":"Property","type":{"type":"reference","name":"EventEmitter"},"defaultValue":"..."},{"name":"_key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"},"defaultValue":"null"},{"name":"_lastStatusUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"string"}]},"defaultValue":"null"},{"name":"_lastStatusUpdateTime","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","qualifiedName":"Date","package":"typescript","name":"Date"}]},"defaultValue":"null"},{"name":"_loaded","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_loading","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_onAudioSampleReceived","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioSampleCallback"},"defaultValue":"null"},{"name":"_onMetadataUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"metadata","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVMetadata"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"_onPlaybackStatusUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"_subscriptions","kind":1024,"kindString":"Property","type":{"type":"array","elementType":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"remove","kind":2048,"kindString":"Method","signatures":[{"name":"remove","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]}]}}},"defaultValue":"[]"},{"name":"pauseAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.pauseAsync"}},{"name":"playAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.playAsync"}},{"name":"playFromPositionAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"positionMillis","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"tolerances","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"AVPlaybackTolerance"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.playFromPositionAsync"}},{"name":"setIsLoopingAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"isLooping","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setIsLoopingAsync"}},{"name":"setIsMutedAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"isMuted","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setIsMutedAsync"}},{"name":"setPositionAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"positionMillis","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"tolerances","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"AVPlaybackTolerance"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setPositionAsync"}},{"name":"setProgressUpdateIntervalAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"progressUpdateIntervalMillis","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setProgressUpdateIntervalAsync"}},{"name":"setRateAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"rate","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"shouldCorrectPitch","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"}},{"name":"pitchCorrectionQuality","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"PitchCorrectionQuality"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setRateAsync"}},{"name":"setVolumeAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"volume","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"audioPan","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setVolumeAsync"}},{"name":"stopAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.stopAsync"}},{"name":"_callOnPlaybackStatusUpdateForNewStatus","kind":2048,"kindString":"Method","signatures":[{"name":"_callOnPlaybackStatusUpdateForNewStatus","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_clearSubscriptions","kind":2048,"kindString":"Method","signatures":[{"name":"_clearSubscriptions","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_errorCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_errorCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"error","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_internalErrorCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_internalErrorCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"error","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_internalMetadataUpdateCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_internalMetadataUpdateCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"}},{"name":"metadata","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AVMetadata"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_internalStatusUpdateCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_internalStatusUpdateCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"}},{"name":"status","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AVPlaybackStatus"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_performOperationAndHandleStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"_performOperationAndHandleStatusAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"operation","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"_subscribeToNativeEvents","kind":2048,"kindString":"Method","signatures":[{"name":"_subscribeToNativeEvents","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"getStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"getStatusAsync","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.getStatusAsync"}}],"implementationOf":{"type":"reference","name":"Playback.getStatusAsync"}},{"name":"loadAsync","kind":2048,"kindString":"Method","signatures":[{"name":"loadAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"source","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackSource"}},{"name":"initialStatus","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"downloadFirst","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.loadAsync"}}],"implementationOf":{"type":"reference","name":"Playback.loadAsync"}},{"name":"replayAsync","kind":2048,"kindString":"Method","signatures":[{"name":"replayAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.replayAsync"}}],"implementationOf":{"type":"reference","name":"Playback.replayAsync"}},{"name":"setOnAudioSampleReceived","kind":2048,"kindString":"Method","signatures":[{"name":"setOnAudioSampleReceived","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called during playback, receiving the audio sample as parameter."},"parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking the `AudioSampleCallback` as parameter.\n"},"type":{"type":"reference","name":"AudioSampleCallback"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setOnMetadataUpdate","kind":2048,"kindString":"Method","signatures":[{"name":"setOnMetadataUpdate","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called whenever the metadata of the sound object changes, if one is set.","tags":[{"tag":"platform","text":"ios\n"}]},"parameters":[{"name":"onMetadataUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single object of type `AVMetadata` as a parameter."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"metadata","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVMetadata"}}],"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setOnPlaybackStatusUpdate","kind":2048,"kindString":"Method","signatures":[{"name":"setOnPlaybackStatusUpdate","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called regularly with the `AVPlaybackStatus` of the playback object.","text":"`onPlaybackStatusUpdate` will be called whenever a call to the API for this playback object completes\n(such as `setStatusAsync()`, `getStatusAsync()`, or `unloadAsync()`), nd will also be called at regular intervals\nwhile the media is in the loaded state.\n\nSet `progressUpdateIntervalMillis` via `setStatusAsync()` or `setProgressUpdateIntervalAsync()` to modify\nthe interval with which `onPlaybackStatusUpdate` is called while loaded.\n"},"parameters":[{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `AVPlaybackStatus`.\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"setStatusAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.setStatusAsync"}}],"implementationOf":{"type":"reference","name":"Playback.setStatusAsync"}},{"name":"unloadAsync","kind":2048,"kindString":"Method","signatures":[{"name":"unloadAsync","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.unloadAsync"}}],"implementationOf":{"type":"reference","name":"Playback.unloadAsync"}},{"name":"create","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"create","kind":4096,"kindString":"Call signature","comment":{"tags":[{"tag":"deprecated","text":"Use `Sound.createAsync()` instead"}]},"parameters":[{"name":"source","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackSource"}},{"name":"initialStatus","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"downloadFirst","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"createAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Creates and loads a sound from source.","text":"```ts\nconst { sound } = await Audio.Sound.createAsync(\n source,\n initialStatus,\n onPlaybackStatusUpdate,\n downloadFirst\n);\n\n// Which is equivalent to the following:\nconst sound = new Audio.Sound();\nsound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);\nawait sound.loadAsync(source, initialStatus, downloadFirst);\n```\n","returns":"A `Promise` that is rejected if creation failed, or fulfilled with the `SoundObject` if creation succeeded.\n","tags":[{"tag":"example","text":"\n```ts\ntry {\n const { sound: soundObject, status } = await Audio.Sound.createAsync(\n require('./assets/sounds/hello.mp3'),\n { shouldPlay: true }\n );\n // Your sound is playing!\n} catch (error) {\n // An error occurred!\n}\n```\n"}]},"parameters":[{"name":"source","kind":32768,"kindString":"Parameter","comment":{"shortText":"The source of the sound. See the [AV documentation](/versions/latest/sdk/av/#playback-api) for details on the possible `source` values.\n"},"type":{"type":"reference","name":"AVPlaybackSource"}},{"name":"initialStatus","kind":32768,"kindString":"Parameter","comment":{"shortText":"The initial intended `PlaybackStatusToSet` of the sound, whose values will override the default initial playback status.\nThis value defaults to `{}` if no parameter is passed. See the [AV documentation](/versions/latest/sdk/av) for details on `PlaybackStatusToSet` and the default\ninitial playback status.\n"},"type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `PlaybackStatus`. This value defaults to `null` if no parameter is passed.\nSee the [AV documentation](/versions/latest/sdk/av) for details on the functionality provided by `onPlaybackStatusUpdate`\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"downloadFirst","kind":32768,"kindString":"Parameter","comment":{"shortText":"If set to true, the system will attempt to download the resource to the device before loading. This value defaults to `true`.\nNote that at the moment, this will only work for `source`s of the form `require('path/to/file')` or `Asset` objects.\n"},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}],"implementedTypes":[{"type":"reference","name":"Playback"}]},{"name":"SoundObject","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"sound","kind":1024,"kindString":"Property","comment":{"shortText":"The newly created and loaded `Sound` object."},"type":{"type":"reference","name":"Sound"}},{"name":"status","kind":1024,"kindString":"Property","comment":{"shortText":"The `PlaybackStatus` of the `Sound` object. See the [AV documentation](/versions/latest/sdk/av) for further information."},"type":{"type":"reference","name":"AVPlaybackStatus"}}]}}},{"name":"usePermissions","kind":64,"kindString":"Function","signatures":[{"name":"usePermissions","kind":4096,"kindString":"Call signature","comment":{"shortText":"Check or request permissions to record audio.\nThis uses both `requestPermissionAsync` and `getPermissionsAsync` to interact with the permissions.","tags":[{"tag":"example","text":"\n```ts\nconst [permissionResponse, requestPermission] = Audio.usePermissions();\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}]} \ No newline at end of file +{"name":"expo-audio","kind":1,"originalName":"","children":[{"name":"AndroidAudioEncoder","kind":8,"kindString":"Enumeration","children":[{"name":"AAC","kind":16,"kindString":"Enumeration member","defaultValue":"3"},{"name":"AAC_ELD","kind":16,"kindString":"Enumeration member","defaultValue":"5"},{"name":"AMR_NB","kind":16,"kindString":"Enumeration member","defaultValue":"1"},{"name":"AMR_WB","kind":16,"kindString":"Enumeration member","defaultValue":"2"},{"name":"DEFAULT","kind":16,"kindString":"Enumeration member","defaultValue":"0"},{"name":"HE_AAC","kind":16,"kindString":"Enumeration member","defaultValue":"4"}]},{"name":"AndroidOutputFormat","kind":8,"kindString":"Enumeration","children":[{"name":"AAC_ADIF","kind":16,"kindString":"Enumeration member","defaultValue":"5"},{"name":"AAC_ADTS","kind":16,"kindString":"Enumeration member","defaultValue":"6"},{"name":"AMR_NB","kind":16,"kindString":"Enumeration member","defaultValue":"3"},{"name":"AMR_WB","kind":16,"kindString":"Enumeration member","defaultValue":"4"},{"name":"DEFAULT","kind":16,"kindString":"Enumeration member","defaultValue":"0"},{"name":"MPEG2TS","kind":16,"kindString":"Enumeration member","defaultValue":"8"},{"name":"MPEG_4","kind":16,"kindString":"Enumeration member","defaultValue":"2"},{"name":"RTP_AVP","kind":16,"kindString":"Enumeration member","defaultValue":"7"},{"name":"THREE_GPP","kind":16,"kindString":"Enumeration member","defaultValue":"1"},{"name":"WEBM","kind":16,"kindString":"Enumeration member","defaultValue":"9"}]},{"name":"AudioChannel","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"frames","kind":1024,"kindString":"Property","comment":{"shortText":"All samples for this specific Audio Channel in PCM Buffer format (-1 to 1)."},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]}}},{"name":"AudioMode","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"allowsRecordingIOS","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if recording is enabled on iOS.\n> When this flag is set to `true`, playback may be routed to the phone earpiece instead of to the speaker. Set it back to `false` after stopping recording to reenable playback through the speaker.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"interruptionModeAndroid","kind":1024,"kindString":"Property","comment":{"shortText":"An enum selecting how your experience's audio should interact with the audio from other apps on Android."},"type":{"type":"reference","name":"InterruptionModeAndroid"}},{"name":"interruptionModeIOS","kind":1024,"kindString":"Property","comment":{"shortText":"An enum selecting how your experience's audio should interact with the audio from other apps on iOS."},"type":{"type":"reference","name":"InterruptionModeIOS"}},{"name":"playThroughEarpieceAndroid","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if the audio is routed to earpiece on Android.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"playsInSilentModeIOS","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if your experience's audio should play in silent mode on iOS.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"shouldDuckAndroid","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if your experience's audio should automatically be lowered in volume (\"duck\") if audio from another\napp interrupts your experience. If `false`, audio from other apps will pause your audio.","tags":[{"tag":"default","text":"true\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"staysActiveInBackground","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean selecting if the audio session (playback or recording) should stay active even when the app goes into background.\n> This is not available in Expo Go for iOS, it will only work in standalone apps.\n> To enable it for standalone apps, [follow the instructions below](#playing-or-recording-audio-in-background-ios)\n> to add `UIBackgroundModes` to your app configuration.","tags":[{"tag":"default","text":"false\n"}]},"type":{"type":"intrinsic","name":"boolean"}}]}}},{"name":"AudioSample","kind":4194304,"kindString":"Type alias","comment":{"shortText":"Object passed to the `onAudioSampleReceived` function. Represents a single sample from an audio source.\nThe sample contains all frames (PCM Buffer values) for each channel of the audio, so if the audio is _stereo_ (interleaved),\nthere will be two channels, one for left and one for right audio."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"channels","kind":1024,"kindString":"Property","comment":{"shortText":"An array representing the data from each channel in PCM Buffer format. Array elements are objects in the following format: `{ frames: number[] }`,\nwhere each frame is a number in PCM Buffer format (`-1` to `1` range)."},"type":{"type":"array","elementType":{"type":"reference","name":"AudioChannel"}}},{"name":"timestamp","kind":1024,"kindString":"Property","comment":{"shortText":"A number representing the timestamp of the current sample in seconds, relative to the audio track's timeline.\n> **Known issue:** When using the `ExoPlayer` Android implementation, the timestamp is always `-1`."},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"getPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for audio recording.","returns":"A promise that resolves to an object of type `PermissionResponse`.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"InterruptionModeAndroid","kind":8,"kindString":"Enumeration","children":[{"name":"DoNotMix","kind":16,"kindString":"Enumeration member","comment":{"shortText":"If this option is set, your experience's audio interrupts audio from other apps."},"defaultValue":"1"},{"name":"DuckOthers","kind":16,"kindString":"Enumeration member","comment":{"shortText":"**This is the default option.** If this option is set, your experience's audio lowers the volume (\"ducks\") of audio from other apps while your audio plays."},"defaultValue":"2"}]},{"name":"InterruptionModeIOS","kind":8,"kindString":"Enumeration","children":[{"name":"DoNotMix","kind":16,"kindString":"Enumeration member","comment":{"shortText":"If this option is set, your experience's audio interrupts audio from other apps."},"defaultValue":"1"},{"name":"DuckOthers","kind":16,"kindString":"Enumeration member","comment":{"shortText":"If this option is set, your experience's audio lowers the volume (\"ducks\") of audio from other apps while your audio plays."},"defaultValue":"2"},{"name":"MixWithOthers","kind":16,"kindString":"Enumeration member","comment":{"shortText":"**This is the default option.** If this option is set, your experience's audio is mixed with audio playing in background apps."},"defaultValue":"0"}]},{"name":"IOSAudioQuality","kind":8,"kindString":"Enumeration","children":[{"name":"HIGH","kind":16,"kindString":"Enumeration member","defaultValue":"96"},{"name":"LOW","kind":16,"kindString":"Enumeration member","defaultValue":"32"},{"name":"MAX","kind":16,"kindString":"Enumeration member","defaultValue":"127"},{"name":"MEDIUM","kind":16,"kindString":"Enumeration member","defaultValue":"64"},{"name":"MIN","kind":16,"kindString":"Enumeration member","defaultValue":"0"}]},{"name":"IOSBitRateStrategy","kind":8,"kindString":"Enumeration","children":[{"name":"CONSTANT","kind":16,"kindString":"Enumeration member","defaultValue":"0"},{"name":"LONG_TERM_AVERAGE","kind":16,"kindString":"Enumeration member","defaultValue":"1"},{"name":"VARIABLE","kind":16,"kindString":"Enumeration member","defaultValue":"3"},{"name":"VARIABLE_CONSTRAINED","kind":16,"kindString":"Enumeration member","defaultValue":"2"}]},{"name":"IOSOutputFormat","kind":8,"kindString":"Enumeration","comment":{"shortText":"> **Note** Not all of the iOS formats included in this list of constants are currently supported by iOS,\n> in spite of appearing in the Apple source code. For an accurate list of formats supported by iOS, see\n> [Core Audio Codecs](https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html#//apple_ref/doc/uid/TP40003577-CH10-SW26)\n> and [iPhone Audio File Formats](https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html#//apple_ref/doc/uid/TP40003577-CH10-SW57)."},"children":[{"name":"60958AC3","kind":16,"kindString":"Enumeration member","defaultValue":"\"cac3\""},{"name":"AC3","kind":16,"kindString":"Enumeration member","defaultValue":"\"ac-3\""},{"name":"AES3","kind":16,"kindString":"Enumeration member","defaultValue":"\"aes3\""},{"name":"ALAW","kind":16,"kindString":"Enumeration member","defaultValue":"\"alaw\""},{"name":"AMR","kind":16,"kindString":"Enumeration member","defaultValue":"\"samr\""},{"name":"AMR_WB","kind":16,"kindString":"Enumeration member","defaultValue":"\"sawb\""},{"name":"APPLEIMA4","kind":16,"kindString":"Enumeration member","defaultValue":"\"ima4\""},{"name":"APPLELOSSLESS","kind":16,"kindString":"Enumeration member","defaultValue":"\"alac\""},{"name":"AUDIBLE","kind":16,"kindString":"Enumeration member","defaultValue":"\"AUDB\""},{"name":"DVIINTELIMA","kind":16,"kindString":"Enumeration member","defaultValue":"1836253201"},{"name":"ENHANCEDAC3","kind":16,"kindString":"Enumeration member","defaultValue":"\"ec-3\""},{"name":"ILBC","kind":16,"kindString":"Enumeration member","defaultValue":"\"ilbc\""},{"name":"LINEARPCM","kind":16,"kindString":"Enumeration member","defaultValue":"\"lpcm\""},{"name":"MACE3","kind":16,"kindString":"Enumeration member","defaultValue":"\"MAC3\""},{"name":"MACE6","kind":16,"kindString":"Enumeration member","defaultValue":"\"MAC6\""},{"name":"MICROSOFTGSM","kind":16,"kindString":"Enumeration member","defaultValue":"1836253233"},{"name":"MPEG4AAC","kind":16,"kindString":"Enumeration member","defaultValue":"\"aac \""},{"name":"MPEG4AAC_ELD","kind":16,"kindString":"Enumeration member","defaultValue":"\"aace\""},{"name":"MPEG4AAC_ELD_SBR","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacf\""},{"name":"MPEG4AAC_ELD_V2","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacg\""},{"name":"MPEG4AAC_HE","kind":16,"kindString":"Enumeration member","defaultValue":"\"aach\""},{"name":"MPEG4AAC_HE_V2","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacp\""},{"name":"MPEG4AAC_LD","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacl\""},{"name":"MPEG4AAC_SPATIAL","kind":16,"kindString":"Enumeration member","defaultValue":"\"aacs\""},{"name":"MPEG4CELP","kind":16,"kindString":"Enumeration member","defaultValue":"\"celp\""},{"name":"MPEG4HVXC","kind":16,"kindString":"Enumeration member","defaultValue":"\"hvxc\""},{"name":"MPEG4TWINVQ","kind":16,"kindString":"Enumeration member","defaultValue":"\"twvq\""},{"name":"MPEGLAYER1","kind":16,"kindString":"Enumeration member","defaultValue":"\".mp1\""},{"name":"MPEGLAYER2","kind":16,"kindString":"Enumeration member","defaultValue":"\".mp2\""},{"name":"MPEGLAYER3","kind":16,"kindString":"Enumeration member","defaultValue":"\".mp3\""},{"name":"QDESIGN","kind":16,"kindString":"Enumeration member","defaultValue":"\"QDMC\""},{"name":"QDESIGN2","kind":16,"kindString":"Enumeration member","defaultValue":"\"QDM2\""},{"name":"QUALCOMM","kind":16,"kindString":"Enumeration member","defaultValue":"\"Qclp\""},{"name":"ULAW","kind":16,"kindString":"Enumeration member","defaultValue":"\"ulaw\""}]},{"name":"PermissionHookOptions","kind":4194304,"kindString":"Type alias","typeParameter":[{"name":"Options","kind":131072,"kindString":"Type parameter","type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","name":"PermissionHookBehavior"},{"type":"reference","name":"Options"}]}},{"name":"PermissionResponse","kind":256,"kindString":"Interface","comment":{"shortText":"An object obtained by permissions get and request functions."},"children":[{"name":"canAskAgain","kind":1024,"kindString":"Property","comment":{"shortText":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","kind":1024,"kindString":"Property","comment":{"shortText":"Determines time when the permission expires."},"type":{"type":"reference","name":"PermissionExpiration"}},{"name":"granted","kind":1024,"kindString":"Property","comment":{"shortText":"A convenience boolean that indicates if the permission is granted."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","kind":1024,"kindString":"Property","comment":{"shortText":"Determines the status of the permission."},"type":{"type":"reference","name":"PermissionStatus"}}]},{"name":"PermissionStatus","kind":8,"kindString":"Enumeration","children":[{"name":"DENIED","kind":16,"kindString":"Enumeration member","comment":{"shortText":"User has denied the permission."},"defaultValue":"\"denied\""},{"name":"GRANTED","kind":16,"kindString":"Enumeration member","comment":{"shortText":"User has granted the permission."},"defaultValue":"\"granted\""},{"name":"UNDETERMINED","kind":16,"kindString":"Enumeration member","comment":{"shortText":"User hasn't granted or denied the permission yet."},"defaultValue":"\"undetermined\""}]},{"name":"PitchCorrectionQuality","kind":8,"kindString":"Enumeration","comment":{"shortText":"Check [official Apple documentation](https://developer.apple.com/documentation/avfoundation/avaudiotimepitchalgorithmlowqualityzerolatency) for more information."},"children":[{"name":"High","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Equivalent to `AVAudioTimePitchAlgorithmSpectral`."}},{"name":"Low","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Equivalent to `AVAudioTimePitchAlgorithmLowQualityZeroLatency`."}},{"name":"Medium","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Equivalent to `AVAudioTimePitchAlgorithmTimeDomain`."}}]},{"name":"Recording","kind":128,"kindString":"Class","comment":{"shortText":"This class represents an audio recording. After creating an instance of this class, `prepareToRecordAsync`\nmust be called in order to record audio. Once recording is finished, call `stopAndUnloadAsync`. Note that\nonly one recorder is allowed to exist in the state between `prepareToRecordAsync` and `stopAndUnloadAsync`\nat any given time.","text":"Note that your experience must request audio recording permissions in order for recording to function.\nSee the [`Permissions` module](/guides/permissions) for more details.\n\nAdditionally, audio recording is [not supported in the iOS Simulator](/workflow/ios-simulator/#limitations).\n","tags":[{"tag":"example","text":"\n```ts\nconst recording = new Audio.Recording();\ntry {\n await recording.prepareToRecordAsync(Audio.RecordingOptionsPresets.HIGH_QUALITY);\n await recording.startAsync();\n // You are now recording!\n} catch (error) {\n // An error occurred!\n}\n```\n"},{"tag":"returns","text":"A newly constructed instance of `Audio.Recording`.\n"}]},"children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new Recording","kind":16384,"kindString":"Constructor signature","type":{"type":"reference","name":"Recording"}}]},{"name":"_canRecord","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_finalDurationMillis","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"},"defaultValue":"0"},{"name":"_isDoneRecording","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_onRecordingStatusUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"_options","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"RecordingOptions"}]},"defaultValue":"null"},{"name":"_progressUpdateIntervalMillis","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"},"defaultValue":"_DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS"},{"name":"_progressUpdateTimeoutVariable","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"number"}]},"defaultValue":"null"},{"name":"_subscription","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"Subscription"}]},"defaultValue":"null"},{"name":"_uri","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"string"}]},"defaultValue":"null"},{"name":"_callOnRecordingStatusUpdateForNewStatus","kind":2048,"kindString":"Method","signatures":[{"name":"_callOnRecordingStatusUpdateForNewStatus","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_cleanupForUnloadedRecorder","kind":2048,"kindString":"Method","signatures":[{"name":"_cleanupForUnloadedRecorder","kind":4096,"kindString":"Call signature","parameters":[{"name":"finalStatus","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"_disablePolling","kind":2048,"kindString":"Method","signatures":[{"name":"_disablePolling","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_enablePollingIfNecessaryAndPossible","kind":2048,"kindString":"Method","signatures":[{"name":"_enablePollingIfNecessaryAndPossible","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_performOperationAndHandleStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"_performOperationAndHandleStatusAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"operation","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"_pollingLoop","kind":2048,"kindString":"Method","signatures":[{"name":"_pollingLoop","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createNewLoadedSound","kind":2048,"kindString":"Method","signatures":[{"name":"createNewLoadedSound","kind":4096,"kindString":"Call signature","comment":{"tags":[{"tag":"deprecated","text":"Use `createNewLoadedSoundAsync()` instead.\n"}]},"parameters":[{"name":"initialStatus","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createNewLoadedSoundAsync","kind":2048,"kindString":"Method","signatures":[{"name":"createNewLoadedSoundAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Creates and loads a new `Sound` object to play back the `Recording`. Note that this will only succeed once the `Recording`\nis done recording and `stopAndUnloadAsync()` has been called.","returns":"A `Promise` that is rejected if creation failed, or fulfilled with the `SoundObject`.\n"},"parameters":[{"name":"initialStatus","kind":32768,"kindString":"Parameter","comment":{"shortText":"The initial intended `PlaybackStatusToSet` of the sound, whose values will override the default initial playback status.\nThis value defaults to `{}` if no parameter is passed. See the [AV documentation](/versions/latest/sdk/av) for details on `PlaybackStatusToSet`\nand the default initial playback status."},"type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `PlaybackStatus`. This value defaults to `null` if no parameter is passed.\nSee the [AV documentation](/versions/latest/sdk/av) for details on the functionality provided by `onPlaybackStatusUpdate`\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getAvailableInputs","kind":2048,"kindString":"Method","signatures":[{"name":"getAvailableInputs","kind":4096,"kindString":"Call signature","comment":{"shortText":"Returns a list of available recording inputs. This method can only be called if the `Recording` has been prepared.","returns":"A `Promise` that is fulfilled with an array of `RecordingInput` objects.\n"},"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"RecordingInput"}}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getCurrentInput","kind":2048,"kindString":"Method","signatures":[{"name":"getCurrentInput","kind":4096,"kindString":"Call signature","comment":{"shortText":"Returns the currently-selected recording input. This method can only be called if the `Recording` has been prepared.","returns":"A `Promise` that is fulfilled with a `RecordingInput` object.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingInput"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"getStatusAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Gets the `status` of the `Recording`.","returns":"A `Promise` that is resolved with the `RecordingStatus` object.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"getURI","kind":2048,"kindString":"Method","signatures":[{"name":"getURI","kind":4096,"kindString":"Call signature","comment":{"shortText":"Gets the local URI of the `Recording`. Note that this will only succeed once the `Recording` is prepared\nto record. On web, this will not return the URI until the recording is finished.","returns":"A `string` with the local URI of the `Recording`, or `null` if the `Recording` is not prepared\nto record (or, on Web, if the recording has not finished).\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"string"}]}}]},{"name":"pauseAsync","kind":2048,"kindString":"Method","signatures":[{"name":"pauseAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Pauses recording. This method can only be called if the `Recording` has been prepared.","text":"> This is only available on Android API version 24 and later.\n","returns":"A `Promise` that is fulfilled when recording has paused, or rejects if recording could not be paused.\nIf the Android API version is less than 24, the `Promise` will reject. The promise is resolved with the\n`RecordingStatus` of the recording.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"prepareToRecordAsync","kind":2048,"kindString":"Method","signatures":[{"name":"prepareToRecordAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Loads the recorder into memory and prepares it for recording. This must be called before calling `startAsync()`.\nThis method can only be called if the `Recording` instance has never yet been prepared.","returns":"A `Promise` that is fulfilled when the recorder is loaded and prepared, or rejects if this failed. If another `Recording` exists\nin your experience that is currently prepared to record, the `Promise` will reject. If the `RecordingOptions` provided are invalid,\nthe `Promise` will also reject. The promise is resolved with the `RecordingStatus` of the recording.\n"},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","comment":{"shortText":"`RecordingOptions` for the recording, including sample rate, bitrate, channels, format, encoder, and extension.\nIf no options are passed to `prepareToRecordAsync()`, the recorder will be created with options `Audio.RecordingOptionsPresets.LOW_QUALITY`.\n"},"type":{"type":"reference","name":"RecordingOptions"},"defaultValue":"RecordingOptionsPresets.LOW_QUALITY"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setInput","kind":2048,"kindString":"Method","signatures":[{"name":"setInput","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets the current recording input.","returns":"A `Promise` that is resolved if successful or rejected if not.\n"},"parameters":[{"name":"inputUid","kind":32768,"kindString":"Parameter","comment":{"shortText":"The uid of a `RecordingInput`."},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setOnRecordingStatusUpdate","kind":2048,"kindString":"Method","signatures":[{"name":"setOnRecordingStatusUpdate","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called regularly with the `RecordingStatus` of the `Recording`.","text":"`onRecordingStatusUpdate` will be called when another call to the API for this recording completes (such as `prepareToRecordAsync()`,\n`startAsync()`, `getStatusAsync()`, or `stopAndUnloadAsync()`), and will also be called at regular intervals while the recording can record.\nCall `setProgressUpdateInterval()` to modify the interval with which `onRecordingStatusUpdate` is called while the recording can record.\n"},"parameters":[{"name":"onRecordingStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `RecordingStatus`.\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setProgressUpdateInterval","kind":2048,"kindString":"Method","signatures":[{"name":"setProgressUpdateInterval","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets the interval with which `onRecordingStatusUpdate` is called while the recording can record.\nSee `setOnRecordingStatusUpdate` for details. This value defaults to 500 milliseconds."},"parameters":[{"name":"progressUpdateIntervalMillis","kind":32768,"kindString":"Parameter","comment":{"shortText":"The new interval between calls of `onRecordingStatusUpdate`.\n"},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"startAsync","kind":2048,"kindString":"Method","signatures":[{"name":"startAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Begins recording. This method can only be called if the `Recording` has been prepared.","returns":"A `Promise` that is fulfilled when recording has begun, or rejects if recording could not be started.\nThe promise is resolved with the `RecordingStatus` of the recording.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"stopAndUnloadAsync","kind":2048,"kindString":"Method","signatures":[{"name":"stopAndUnloadAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Stops the recording and deallocates the recorder from memory. This reverts the `Recording` instance\nto an unprepared state, and another `Recording` instance must be created in order to record again.\nThis method can only be called if the `Recording` has been prepared.","text":"> On Android this method may fail with `E_AUDIO_NODATA` when called too soon after `startAsync` and\n> no audio data has been recorded yet. In that case the recorded file will be invalid and should be discarded.\n","returns":"A `Promise` that is fulfilled when recording has stopped, or rejects if recording could not be stopped.\nThe promise is resolved with the `RecordingStatus` of the recording.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"createAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Creates and starts a recording using the given options, with optional `onRecordingStatusUpdate` and `progressUpdateIntervalMillis`.","text":"```ts\nconst { recording, status } = await Audio.Recording.createAsync(\n options,\n onRecordingStatusUpdate,\n progressUpdateIntervalMillis\n);\n\n// Which is equivalent to the following:\nconst recording = new Audio.Recording();\nawait recording.prepareToRecordAsync(options);\nrecording.setOnRecordingStatusUpdate(onRecordingStatusUpdate);\nawait recording.startAsync();\n```\n","returns":"A `Promise` that is rejected if creation failed, or fulfilled with the following dictionary if creation succeeded.\n","tags":[{"tag":"example","text":"\n```ts\ntry {\n const { recording: recordingObject, status } = await Audio.Recording.createAsync(\n Audio.RecordingOptionsPresets.HIGH_QUALITY\n );\n // You are now recording!\n} catch (error) {\n // An error occurred!\n}\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","comment":{"shortText":"Options for the recording, including sample rate, bitrate, channels, format, encoder, and extension. If no options are passed to,\nthe recorder will be created with options `Audio.RecordingOptionsPresets.LOW_QUALITY`. See below for details on `RecordingOptions`."},"type":{"type":"reference","name":"RecordingOptions"},"defaultValue":"RecordingOptionsPresets.LOW_QUALITY"},{"name":"onRecordingStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `status` (a dictionary, described in `getStatusAsync`)."},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"RecordingStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"progressUpdateIntervalMillis","kind":32768,"kindString":"Parameter","comment":{"shortText":"The interval between calls of `onRecordingStatusUpdate`. This value defaults to 500 milliseconds.\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"number"}]},"defaultValue":"null"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"RecordingObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}]},{"name":"RecordingInput","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"name","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"uid","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}}]}}},{"name":"RecordingObject","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"recording","kind":1024,"kindString":"Property","comment":{"shortText":"The newly created and started `Recording` object."},"type":{"type":"reference","name":"Recording"}},{"name":"status","kind":1024,"kindString":"Property","comment":{"shortText":"The `RecordingStatus` of the `Recording` object. See the [AV documentation](/versions/latest/sdk/av) for further information."},"type":{"type":"reference","name":"RecordingStatus"}}]}}},{"name":"RecordingOptions","kind":4194304,"kindString":"Type alias","comment":{"shortText":"The recording extension, sample rate, bitrate, channels, format, encoder, etc. which can be customized by passing options to `prepareToRecordAsync()`.","text":"We provide the following preset options for convenience, as used in the example above. See below for the definitions of these presets.\n- `Audio.RecordingOptionsPresets.HIGH_QUALITY`\n- `Audio.RecordingOptionsPresets.LOW_QUALITY`\n\nWe also provide the ability to define your own custom recording options, but **we recommend you use the presets,\nas not all combinations of options will allow you to successfully `prepareToRecordAsync()`.**\nYou will have to test your custom options on iOS and Android to make sure it's working. In the future,\nwe will enumerate all possible valid combinations, but at this time, our goal is to make the basic use-case easy (with presets)\nand the advanced use-case possible (by exposing all the functionality available on all supported platforms).\n"},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"android","kind":1024,"kindString":"Property","comment":{"shortText":"Recording options for the Android platform."},"type":{"type":"reference","name":"RecordingOptionsAndroid"}},{"name":"ios","kind":1024,"kindString":"Property","comment":{"shortText":"Recording options for the iOS platform."},"type":{"type":"reference","name":"RecordingOptionsIOS"}},{"name":"isMeteringEnabled","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean that determines whether audio level information will be part of the status object under the \"metering\" key."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"keepAudioActiveHint","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean that hints to keep the audio active after `prepareToRecordAsync` completes.\nSetting this value can improve the speed at which the recording starts. Only set this value to `true` when you call `startAsync`\nimmediately after `prepareToRecordAsync`. This value is automatically set when using `Audio.recording.createAsync()`."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"web","kind":1024,"kindString":"Property","comment":{"shortText":"Recording options for the Web platform."},"type":{"type":"reference","name":"RecordingOptionsWeb"}}]}}},{"name":"RecordingOptionsAndroid","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"audioEncoder","kind":1024,"kindString":"Property","comment":{"shortText":"The desired audio encoder. See the [`AndroidAudioEncoder`](#androidaudioencoder) enum for all valid values."},"type":{"type":"union","types":[{"type":"reference","name":"AndroidAudioEncoder"},{"type":"intrinsic","name":"number"}]}},{"name":"bitRate","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired bit rate.","text":"Note that `prepareToRecordAsync()` may perform additional checks on the parameter to make sure whether the specified\nbit rate is applicable, and sometimes the passed bitRate will be clipped internally to ensure the audio recording\ncan proceed smoothly based on the capabilities of the platform.\n","tags":[{"tag":"example","text":"`128000`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"extension","kind":1024,"kindString":"Property","comment":{"shortText":"The desired file extension. Example valid values are `.3gp` and `.m4a`.\nFor more information, see the [Android docs](https://developer.android.com/guide/topics/media/media-formats)\nfor supported output formats."},"type":{"type":"intrinsic","name":"string"}},{"name":"maxFileSize","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired maximum file size in bytes, after which the recording will stop (but `stopAndUnloadAsync()` must still\nbe called after this point).","tags":[{"tag":"example","text":"`65536`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"numberOfChannels","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired number of channels.","text":"Note that `prepareToRecordAsync()` may perform additional checks on the parameter to make sure whether the specified\nnumber of audio channels are applicable.\n","tags":[{"tag":"example","text":"`1`, `2`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"outputFormat","kind":1024,"kindString":"Property","comment":{"shortText":"The desired file format. See the [`AndroidOutputFormat`](#androidoutputformat) enum for all valid values."},"type":{"type":"union","types":[{"type":"reference","name":"AndroidOutputFormat"},{"type":"intrinsic","name":"number"}]}},{"name":"sampleRate","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired sample rate.","text":"Note that the sampling rate depends on the format for the audio recording, as well as the capabilities of the platform.\nFor instance, the sampling rate supported by AAC audio coding standard ranges from 8 to 96 kHz,\nthe sampling rate supported by AMRNB is 8kHz, and the sampling rate supported by AMRWB is 16kHz.\nPlease consult with the related audio coding standard for the supported audio sampling rate.\n","tags":[{"tag":"example","text":"44100\n"}]},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"RecordingOptionsIOS","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"audioQuality","kind":1024,"kindString":"Property","comment":{"shortText":"The desired audio quality. See the [`IOSAudioQuality`](#iosaudioquality) enum for all valid values."},"type":{"type":"union","types":[{"type":"reference","name":"IOSAudioQuality"},{"type":"intrinsic","name":"number"}]}},{"name":"bitDepthHint","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired bit depth hint.","tags":[{"tag":"example","text":"`16`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"bitRate","kind":1024,"kindString":"Property","comment":{"shortText":"The desired bit rate.","tags":[{"tag":"example","text":"`128000`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"bitRateStrategy","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired bit rate strategy. See the next section for an enumeration of all valid values of `bitRateStrategy`."},"type":{"type":"intrinsic","name":"number"}},{"name":"extension","kind":1024,"kindString":"Property","comment":{"shortText":"The desired file extension.","tags":[{"tag":"example","text":"`'.caf'`\n"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"linearPCMBitDepth","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired PCM bit depth.","tags":[{"tag":"example","text":"`16`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"linearPCMIsBigEndian","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean describing if the PCM data should be formatted in big endian."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"linearPCMIsFloat","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean describing if the PCM data should be encoded in floating point or integral values."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"numberOfChannels","kind":1024,"kindString":"Property","comment":{"shortText":"The desired number of channels.","tags":[{"tag":"example","text":"`1`, `2`\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"outputFormat","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The desired file format. See the [`IOSOutputFormat`](#iosoutputformat) enum for all valid values."},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"IOSOutputFormat"},{"type":"intrinsic","name":"number"}]}},{"name":"sampleRate","kind":1024,"kindString":"Property","comment":{"shortText":"The desired sample rate.","tags":[{"tag":"example","text":"`44100`\n"}]},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"RecordingOptionsPresets","kind":32,"kindString":"Variable","flags":{"isConst":true},"comment":{"shortText":"Constant which contains definitions of the two preset examples of `RecordingOptions`, as implemented in the Audio SDK.","text":"# `HIGH_QUALITY`\n```ts\nRecordingOptionsPresets.HIGH_QUALITY = {\n isMeteringEnabled: true,\n android: {\n extension: '.m4a',\n outputFormat: AndroidOutputFormat.MPEG_4,\n audioEncoder: AndroidAudioEncoder.AAC,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n },\n ios: {\n extension: '.m4a',\n outputFormat: IOSOutputFormat.MPEG4AAC,\n audioQuality: IOSAudioQuality.MAX,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n linearPCMBitDepth: 16,\n linearPCMIsBigEndian: false,\n linearPCMIsFloat: false,\n },\n web: {\n mimeType: 'audio/webm',\n bitsPerSecond: 128000,\n },\n};\n```\n\n# `LOW_QUALITY`\n```ts\nRecordingOptionsPresets.LOW_QUALITY = {\n isMeteringEnabled: true,\n android: {\n extension: '.3gp',\n outputFormat: AndroidOutputFormat.THREE_GPP,\n audioEncoder: AndroidAudioEncoder.AMR_NB,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n },\n ios: {\n extension: '.caf',\n audioQuality: IOSAudioQuality.MIN,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n linearPCMBitDepth: 16,\n linearPCMIsBigEndian: false,\n linearPCMIsFloat: false,\n },\n web: {\n mimeType: 'audio/webm',\n bitsPerSecond: 128000,\n },\n};\n```\n"},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"RecordingOptions"}],"qualifiedName":"Record","package":"typescript","name":"Record"},"defaultValue":"..."},{"name":"RecordingOptionsWeb","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"bitsPerSecond","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"mimeType","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}]}}},{"name":"RecordingStatus","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"canRecord","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean describing if the `Recording` can initiate the recording."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"durationMillis","kind":1024,"kindString":"Property","comment":{"shortText":"The current duration of the recorded audio or the final duration is the recording has been stopped."},"type":{"type":"intrinsic","name":"number"}},{"name":"isDoneRecording","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean describing if the `Recording` has been stopped."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"isRecording","kind":1024,"kindString":"Property","comment":{"shortText":"A boolean describing if the `Recording` is currently recording."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"mediaServicesDidReset","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A boolean indicating whether media services were reset during recording. This may occur if the active input ceases to be available\nduring recording.","text":"For example: airpods are the active input and they run out of batteries during recording.\n","tags":[{"tag":"platform","text":"ios\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"metering","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A number that's the most recent reading of the loudness in dB. The value ranges from `–160` dBFS, indicating minimum power,\nto `0` dBFS, indicating maximum power. Present or not based on Recording options. See `RecordingOptions` for more information."},"type":{"type":"intrinsic","name":"number"}},{"name":"uri","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]}}},{"name":"requestPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for audio recording.","returns":"A promise that resolves to an object of type `PermissionResponse`.\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setAudioModeAsync","kind":64,"kindString":"Function","signatures":[{"name":"setAudioModeAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"We provide this API to customize the audio experience on iOS and Android.","returns":"A `Promise` that will reject if the audio mode could not be enabled for the device.\n"},"parameters":[{"name":"partialMode","kind":32768,"kindString":"Parameter","comment":{},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AudioMode"}],"qualifiedName":"Partial","package":"typescript","name":"Partial"}}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"setIsEnabledAsync","kind":64,"kindString":"Function","signatures":[{"name":"setIsEnabledAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Audio is enabled by default, but if you want to write your own Audio API in a bare workflow app, you might want to disable the Audio API.","returns":"A `Promise` that will reject if audio playback could not be enabled for the device.\n"},"parameters":[{"name":"value","kind":32768,"kindString":"Parameter","comment":{"shortText":"`true` enables Audio, and `false` disables it."},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"Sound","kind":128,"kindString":"Class","comment":{"shortText":"This class represents a sound corresponding to an Asset or URL.","tags":[{"tag":"returns","text":"A newly constructed instance of `Audio.Sound`.\n"},{"tag":"example","text":"\n```ts\nconst sound = new Audio.Sound();\ntry {\n await sound.loadAsync(require('./assets/sounds/hello.mp3'));\n await sound.playAsync();\n // Your sound is playing!\n\n // Don't forget to unload the sound from memory\n // when you are done using the Sound object\n await sound.unloadAsync();\n} catch (error) {\n // An error occurred!\n}\n```\n\n> Method not described below and the rest of the API for `Audio.Sound` is the same as the imperative playback API for `Video`.\n> See the [AV documentation](/versions/latest/sdk/av) for further information.\n"}]},"children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new Sound","kind":16384,"kindString":"Constructor signature","type":{"type":"reference","name":"Sound"}}]},{"name":"_coalesceStatusUpdatesInMillis","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"},"defaultValue":"100"},{"name":"_eventEmitter","kind":1024,"kindString":"Property","type":{"type":"reference","name":"EventEmitter"},"defaultValue":"..."},{"name":"_key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"},"defaultValue":"null"},{"name":"_lastStatusUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"string"}]},"defaultValue":"null"},{"name":"_lastStatusUpdateTime","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","qualifiedName":"Date","package":"typescript","name":"Date"}]},"defaultValue":"null"},{"name":"_loaded","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_loading","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"false"},{"name":"_onAudioSampleReceived","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioSampleCallback"},"defaultValue":"null"},{"name":"_onMetadataUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"metadata","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVMetadata"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"_onPlaybackStatusUpdate","kind":1024,"kindString":"Property","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"_subscriptions","kind":1024,"kindString":"Property","type":{"type":"array","elementType":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"remove","kind":2048,"kindString":"Method","signatures":[{"name":"remove","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]}]}}},"defaultValue":"[]"},{"name":"pauseAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.pauseAsync"}},{"name":"playAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.playAsync"}},{"name":"playFromPositionAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"positionMillis","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"tolerances","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"AVPlaybackTolerance"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.playFromPositionAsync"}},{"name":"setIsLoopingAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"isLooping","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setIsLoopingAsync"}},{"name":"setIsMutedAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"isMuted","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setIsMutedAsync"}},{"name":"setPositionAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"positionMillis","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"tolerances","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"AVPlaybackTolerance"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setPositionAsync"}},{"name":"setProgressUpdateIntervalAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"progressUpdateIntervalMillis","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setProgressUpdateIntervalAsync"}},{"name":"setRateAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"rate","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"shouldCorrectPitch","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"}},{"name":"pitchCorrectionQuality","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"PitchCorrectionQuality"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setRateAsync"}},{"name":"setVolumeAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"volume","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"number"}},{"name":"audioPan","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.setVolumeAsync"}},{"name":"stopAsync","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}},"implementationOf":{"type":"reference","name":"Playback.stopAsync"}},{"name":"_callOnPlaybackStatusUpdateForNewStatus","kind":2048,"kindString":"Method","signatures":[{"name":"_callOnPlaybackStatusUpdateForNewStatus","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_clearSubscriptions","kind":2048,"kindString":"Method","signatures":[{"name":"_clearSubscriptions","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_errorCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_errorCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"error","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_internalErrorCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_internalErrorCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"error","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_internalMetadataUpdateCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_internalMetadataUpdateCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"}},{"name":"metadata","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AVMetadata"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_internalStatusUpdateCallback","kind":2048,"kindString":"Method","signatures":[{"name":"_internalStatusUpdateCallback","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"key","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AudioInstance"}},{"name":"status","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AVPlaybackStatus"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_performOperationAndHandleStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"_performOperationAndHandleStatusAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"operation","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"_subscribeToNativeEvents","kind":2048,"kindString":"Method","signatures":[{"name":"_subscribeToNativeEvents","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"getStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"getStatusAsync","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.getStatusAsync"}}],"implementationOf":{"type":"reference","name":"Playback.getStatusAsync"}},{"name":"loadAsync","kind":2048,"kindString":"Method","signatures":[{"name":"loadAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"source","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackSource"}},{"name":"initialStatus","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"downloadFirst","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.loadAsync"}}],"implementationOf":{"type":"reference","name":"Playback.loadAsync"}},{"name":"replayAsync","kind":2048,"kindString":"Method","signatures":[{"name":"replayAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.replayAsync"}}],"implementationOf":{"type":"reference","name":"Playback.replayAsync"}},{"name":"setOnAudioSampleReceived","kind":2048,"kindString":"Method","signatures":[{"name":"setOnAudioSampleReceived","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called during playback, receiving the audio sample as parameter."},"parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking the `AudioSampleCallback` as parameter.\n"},"type":{"type":"reference","name":"AudioSampleCallback"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setOnMetadataUpdate","kind":2048,"kindString":"Method","signatures":[{"name":"setOnMetadataUpdate","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called whenever the metadata of the sound object changes, if one is set.","tags":[{"tag":"platform","text":"ios\n"}]},"parameters":[{"name":"onMetadataUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single object of type `AVMetadata` as a parameter."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"metadata","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVMetadata"}}],"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setOnPlaybackStatusUpdate","kind":2048,"kindString":"Method","signatures":[{"name":"setOnPlaybackStatusUpdate","kind":4096,"kindString":"Call signature","comment":{"shortText":"Sets a function to be called regularly with the `AVPlaybackStatus` of the playback object.","text":"`onPlaybackStatusUpdate` will be called whenever a call to the API for this playback object completes\n(such as `setStatusAsync()`, `getStatusAsync()`, or `unloadAsync()`), nd will also be called at regular intervals\nwhile the media is in the loaded state.\n\nSet `progressUpdateIntervalMillis` via `setStatusAsync()` or `setProgressUpdateIntervalAsync()` to modify\nthe interval with which `onPlaybackStatusUpdate` is called while loaded.\n"},"parameters":[{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `AVPlaybackStatus`.\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"setStatusAsync","kind":2048,"kindString":"Method","signatures":[{"name":"setStatusAsync","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.setStatusAsync"}}],"implementationOf":{"type":"reference","name":"Playback.setStatusAsync"}},{"name":"unloadAsync","kind":2048,"kindString":"Method","signatures":[{"name":"unloadAsync","kind":4096,"kindString":"Call signature","type":{"type":"reference","typeArguments":[{"type":"reference","name":"AVPlaybackStatus"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"},"implementationOf":{"type":"reference","name":"Playback.unloadAsync"}}],"implementationOf":{"type":"reference","name":"Playback.unloadAsync"}},{"name":"create","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"create","kind":4096,"kindString":"Call signature","comment":{"tags":[{"tag":"deprecated","text":"Use `Sound.createAsync()` instead"}]},"parameters":[{"name":"source","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackSource"}},{"name":"initialStatus","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"downloadFirst","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]},{"name":"createAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"createAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Creates and loads a sound from source.","text":"```ts\nconst { sound } = await Audio.Sound.createAsync(\n source,\n initialStatus,\n onPlaybackStatusUpdate,\n downloadFirst\n);\n\n// Which is equivalent to the following:\nconst sound = new Audio.Sound();\nsound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);\nawait sound.loadAsync(source, initialStatus, downloadFirst);\n```\n","returns":"A `Promise` that is rejected if creation failed, or fulfilled with the `SoundObject` if creation succeeded.\n","tags":[{"tag":"example","text":"\n```ts\ntry {\n const { sound: soundObject, status } = await Audio.Sound.createAsync(\n require('./assets/sounds/hello.mp3'),\n { shouldPlay: true }\n );\n // Your sound is playing!\n} catch (error) {\n // An error occurred!\n}\n```\n"}]},"parameters":[{"name":"source","kind":32768,"kindString":"Parameter","comment":{"shortText":"The source of the sound. See the [AV documentation](/versions/latest/sdk/av/#playback-api) for details on the possible `source` values.\n"},"type":{"type":"reference","name":"AVPlaybackSource"}},{"name":"initialStatus","kind":32768,"kindString":"Parameter","comment":{"shortText":"The initial intended `PlaybackStatusToSet` of the sound, whose values will override the default initial playback status.\nThis value defaults to `{}` if no parameter is passed. See the [AV documentation](/versions/latest/sdk/av) for details on `PlaybackStatusToSet` and the default\ninitial playback status.\n"},"type":{"type":"reference","name":"AVPlaybackStatusToSet"},"defaultValue":"{}"},{"name":"onPlaybackStatusUpdate","kind":32768,"kindString":"Parameter","comment":{"shortText":"A function taking a single parameter `PlaybackStatus`. This value defaults to `null` if no parameter is passed.\nSee the [AV documentation](/versions/latest/sdk/av) for details on the functionality provided by `onPlaybackStatusUpdate`\n"},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"status","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"AVPlaybackStatus"}}],"type":{"type":"intrinsic","name":"void"}}]}}]},"defaultValue":"null"},{"name":"downloadFirst","kind":32768,"kindString":"Parameter","comment":{"shortText":"If set to true, the system will attempt to download the resource to the device before loading. This value defaults to `true`.\nNote that at the moment, this will only work for `source`s of the form `require('path/to/file')` or `Asset` objects.\n"},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"SoundObject"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}}]}],"implementedTypes":[{"type":"reference","name":"Playback"}]},{"name":"SoundObject","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"sound","kind":1024,"kindString":"Property","comment":{"shortText":"The newly created and loaded `Sound` object."},"type":{"type":"reference","name":"Sound"}},{"name":"status","kind":1024,"kindString":"Property","comment":{"shortText":"The `PlaybackStatus` of the `Sound` object. See the [AV documentation](/versions/latest/sdk/av) for further information."},"type":{"type":"reference","name":"AVPlaybackStatus"}}]}}},{"name":"usePermissions","kind":64,"kindString":"Function","signatures":[{"name":"usePermissions","kind":4096,"kindString":"Call signature","comment":{"shortText":"Check or request permissions to record audio.\nThis uses both `requestPermissionAsync` and `getPermissionsAsync` to interact with the permissions.","tags":[{"tag":"example","text":"\n```ts\nconst [permissionResponse, requestPermission] = Audio.usePermissions();\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}]} \ No newline at end of file