UNPKG

whisper.rn

Version:

React Native binding of whisper.cpp

91 lines (89 loc) 4.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.AudioSessionModeIos = exports.AudioSessionCategoryOptionIos = exports.AudioSessionCategoryIos = void 0; var _reactNative = require("react-native"); var _NativeRNWhisper = _interopRequireDefault(require("./NativeRNWhisper")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @see https://developer.apple.com/documentation/avfaudio/avaudiosessioncategory?language=objc */ let AudioSessionCategoryIos; /** * @see https://developer.apple.com/documentation/avfaudio/avaudiosessioncategoryoptions?language=objc */ exports.AudioSessionCategoryIos = AudioSessionCategoryIos; (function (AudioSessionCategoryIos) { AudioSessionCategoryIos["Ambient"] = "Ambient"; AudioSessionCategoryIos["SoloAmbient"] = "SoloAmbient"; AudioSessionCategoryIos["Playback"] = "Playback"; AudioSessionCategoryIos["Record"] = "Record"; AudioSessionCategoryIos["PlayAndRecord"] = "PlayAndRecord"; AudioSessionCategoryIos["MultiRoute"] = "MultiRoute"; })(AudioSessionCategoryIos || (exports.AudioSessionCategoryIos = AudioSessionCategoryIos = {})); let AudioSessionCategoryOptionIos; /** * @see https://developer.apple.com/documentation/avfaudio/avaudiosessionmode?language=objc */ exports.AudioSessionCategoryOptionIos = AudioSessionCategoryOptionIos; (function (AudioSessionCategoryOptionIos) { AudioSessionCategoryOptionIos["MixWithOthers"] = "MixWithOthers"; AudioSessionCategoryOptionIos["DuckOthers"] = "DuckOthers"; AudioSessionCategoryOptionIos["InterruptSpokenAudioAndMixWithOthers"] = "InterruptSpokenAudioAndMixWithOthers"; AudioSessionCategoryOptionIos["AllowBluetooth"] = "AllowBluetooth"; AudioSessionCategoryOptionIos["AllowBluetoothA2DP"] = "AllowBluetoothA2DP"; AudioSessionCategoryOptionIos["AllowAirPlay"] = "AllowAirPlay"; AudioSessionCategoryOptionIos["DefaultToSpeaker"] = "DefaultToSpeaker"; })(AudioSessionCategoryOptionIos || (exports.AudioSessionCategoryOptionIos = AudioSessionCategoryOptionIos = {})); let AudioSessionModeIos; exports.AudioSessionModeIos = AudioSessionModeIos; (function (AudioSessionModeIos) { AudioSessionModeIos["Default"] = "Default"; AudioSessionModeIos["VoiceChat"] = "VoiceChat"; AudioSessionModeIos["VideoChat"] = "VideoChat"; AudioSessionModeIos["GameChat"] = "GameChat"; AudioSessionModeIos["VideoRecording"] = "VideoRecording"; AudioSessionModeIos["Measurement"] = "Measurement"; AudioSessionModeIos["MoviePlayback"] = "MoviePlayback"; AudioSessionModeIos["SpokenAudio"] = "SpokenAudio"; })(AudioSessionModeIos || (exports.AudioSessionModeIos = AudioSessionModeIos = {})); const checkPlatform = () => { if (_reactNative.Platform.OS !== 'ios') throw new Error('Only supported on iOS'); }; /** * AudioSession Utility, iOS only. */ var _default = { Category: AudioSessionCategoryIos, CategoryOption: AudioSessionCategoryOptionIos, Mode: AudioSessionModeIos, getCurrentCategory: async () => { var _result$options; checkPlatform(); const result = await _NativeRNWhisper.default.getAudioSessionCurrentCategory(); return { category: result.category.replace('AVAudioSessionCategory', ''), options: (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.map(option => option.replace('AVAudioSessionCategoryOption', '')) }; }, getCurrentMode: async () => { checkPlatform(); const mode = await _NativeRNWhisper.default.getAudioSessionCurrentMode(); return mode.replace('AVAudioSessionMode', ''); }, setCategory: async (category, options) => { checkPlatform(); await _NativeRNWhisper.default.setAudioSessionCategory(category, options); }, setMode: async mode => { checkPlatform(); await _NativeRNWhisper.default.setAudioSessionMode(mode); }, setActive: async active => { checkPlatform(); await _NativeRNWhisper.default.setAudioSessionActive(active); } }; exports.default = _default; //# sourceMappingURL=AudioSessionIos.js.map