UNPKG

5.09 kBSource Map (JSON)View Raw
1{"version":3,"file":"Audio.js","sourceRoot":"","sources":["../src/Audio.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,MAAM,CAAC;AAY9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AAEvD,6DAA6D;AAC7D,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,WAAkB,EAAW,EAAE;IAChE,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,aAAiC,EACjC,gBAA2B,EAChB,EAAE;IACb,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;QAClC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YACtC,aAAa,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;SAC5C;KACF;IACD,OAAO,aAA0B,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAc;IAC7B,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,qCAAqC;IAC1D,oBAAoB,EAAE,KAAK;IAC3B,uBAAuB,EAAE,KAAK;IAC9B,uBAAuB,EAAE,qCAAqC;IAC9D,iBAAiB,EAAE,IAAI;IACvB,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,IAAI,gBAAgB,GAAqB,IAAI,CAAC;AAE9C,SAAS,mBAAmB;IAC1B,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO,WAAW,CAAC;KACpB;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAA+B;IACrE,MAAM,IAAI,GAAG,oBAAoB,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAEtE,IACE,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;QACvC,qCAAqC;QACrC,gCAAgC;QAChC,iCAAiC;KAClC,CAAC,EACF;QACA,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IACD,IACE,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,EAAE;QAC3C,oCAAoC;QACpC,qCAAqC;KACtC,CAAC,EACF;QACA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC3E;IACD,IACE,OAAO,IAAI,CAAC,kBAAkB,KAAK,SAAS;QAC5C,OAAO,IAAI,CAAC,oBAAoB,KAAK,SAAS;QAC9C,OAAO,IAAI,CAAC,uBAAuB,KAAK,SAAS;QACjD,OAAO,IAAI,CAAC,iBAAiB,KAAK,SAAS;QAC3C,OAAO,IAAI,CAAC,0BAA0B,KAAK,SAAS,EACpD;QACA,MAAM,IAAI,KAAK,CACb,iJAAiJ,CAClJ,CAAC;KACH;IACD,gBAAgB,GAAG,IAAI,CAAC;IACxB,OAAO,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["import ExponentAV from './ExponentAV';\n\nexport * from './Audio/Recording';\nexport * from './Audio/Sound';\nexport { setIsEnabledAsync } from './Audio/AudioAvailability';\nexport { PitchCorrectionQuality } from './AV';\n\nexport type AudioMode = {\n allowsRecordingIOS: boolean;\n interruptionModeIOS: number;\n playsInSilentModeIOS: boolean;\n staysActiveInBackground: boolean;\n interruptionModeAndroid: number;\n shouldDuckAndroid: boolean;\n playThroughEarpieceAndroid: boolean;\n};\n\nexport const INTERRUPTION_MODE_IOS_MIX_WITH_OTHERS = 0;\nexport const INTERRUPTION_MODE_IOS_DO_NOT_MIX = 1;\nexport const INTERRUPTION_MODE_IOS_DUCK_OTHERS = 2;\n\nexport const INTERRUPTION_MODE_ANDROID_DO_NOT_MIX = 1;\nexport const INTERRUPTION_MODE_ANDROID_DUCK_OTHERS = 2;\n\n// Returns true if value is in validValues, and false if not.\nconst _isValueValid = (value: any, validValues: any[]): boolean => {\n return validValues.filter(validValue => validValue === value).length > 0;\n};\n\nconst _populateMissingKeys = (\n userAudioMode: Partial<AudioMode>,\n defaultAudioMode: AudioMode\n): AudioMode => {\n for (const key in defaultAudioMode) {\n if (!userAudioMode.hasOwnProperty(key)) {\n userAudioMode[key] = defaultAudioMode[key];\n }\n }\n return userAudioMode as AudioMode;\n};\n\nconst defaultMode: AudioMode = {\n allowsRecordingIOS: false,\n interruptionModeIOS: INTERRUPTION_MODE_IOS_MIX_WITH_OTHERS,\n playsInSilentModeIOS: false,\n staysActiveInBackground: false,\n interruptionModeAndroid: INTERRUPTION_MODE_ANDROID_DUCK_OTHERS,\n shouldDuckAndroid: true,\n playThroughEarpieceAndroid: false,\n};\n\nlet currentAudioMode: AudioMode | null = null;\n\nfunction getCurrentAudioMode(): AudioMode {\n if (!currentAudioMode) {\n return defaultMode;\n }\n return currentAudioMode;\n}\n\nexport async function setAudioModeAsync(partialMode: Partial<AudioMode>): Promise<void> {\n const mode = _populateMissingKeys(partialMode, getCurrentAudioMode());\n\n if (\n !_isValueValid(mode.interruptionModeIOS, [\n INTERRUPTION_MODE_IOS_MIX_WITH_OTHERS,\n INTERRUPTION_MODE_IOS_DO_NOT_MIX,\n INTERRUPTION_MODE_IOS_DUCK_OTHERS,\n ])\n ) {\n throw new Error(`\"interruptionModeIOS\" was set to an invalid value.`);\n }\n if (\n !_isValueValid(mode.interruptionModeAndroid, [\n INTERRUPTION_MODE_ANDROID_DO_NOT_MIX,\n INTERRUPTION_MODE_ANDROID_DUCK_OTHERS,\n ])\n ) {\n throw new Error(`\"interruptionModeAndroid\" was set to an invalid value.`);\n }\n if (\n typeof mode.allowsRecordingIOS !== 'boolean' ||\n typeof mode.playsInSilentModeIOS !== 'boolean' ||\n typeof mode.staysActiveInBackground !== 'boolean' ||\n typeof mode.shouldDuckAndroid !== 'boolean' ||\n typeof mode.playThroughEarpieceAndroid !== 'boolean'\n ) {\n throw new Error(\n '\"allowsRecordingIOS\", \"playsInSilentModeIOS\", \"playThroughEarpieceAndroid\", \"staysActiveInBackground\" and \"shouldDuckAndroid\" must be booleans.'\n );\n }\n currentAudioMode = mode;\n return await ExponentAV.setAudioMode(mode);\n}\n"]}
\No newline at end of file