All Projects → BonnierNews → react-native-audio-session

BonnierNews / react-native-audio-session

Licence: MIT License
React Native module for handling the AVAudioSession instance on iOS.

Programming Languages

objective c
16641 projects - #2 most used programming language
typescript
32286 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to react-native-audio-session

Theatherflix
Theatherflix OpenSource Project - A visual tool for wiring digital movies, to sort and list the top latest movie trailers. We are constantly developing and making changes. Do you want to be part? Contact us!
Stars: ✭ 51 (+104%)
Mutual labels:  opensource
Hacktoberfest-Guide-2019
කොල්ලන්ට කෙල්ලන්ට Hacktoberfest ටී ෂර්ට්👉 Hacktoberfest 2019 opensource guide. Happy Open Source❤️😍😍❤️ Do Your Activity Here 👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
Stars: ✭ 11 (-56%)
Mutual labels:  opensource
open-development-template
Workflow and documentation templates that help teams formalize their goals, workflow and governance model to encourage participation and field contributions.
Stars: ✭ 18 (-28%)
Mutual labels:  opensource
bulma-components
Bulma CSS Components - Open-Source project
Stars: ✭ 43 (+72%)
Mutual labels:  opensource
ConfTalks
⚠️ Development is currently on hold 🎥 An open source index of already recorded and scheduled conference talks to help you decide if you should go. Built for all developers 👩‍💻👨‍💻
Stars: ✭ 53 (+112%)
Mutual labels:  opensource
bagisto-bulk-upload
The Laravel eCommerce Bulk Upload allows the admin to create and add a bulk number of products into Bagisto online store.
Stars: ✭ 16 (-36%)
Mutual labels:  opensource
NearBeach
NearBeach is an open sourced project management tool, helping you keep track of your project. You can track requirements, projects and tasks
Stars: ✭ 97 (+288%)
Mutual labels:  opensource
oh-my-foss-android
个人收集的实用、良心开源安卓软件
Stars: ✭ 37 (+48%)
Mutual labels:  opensource
Aospdeskclock
Fork of aosp deskclock: alarm,clock, timer,stopwatch
Stars: ✭ 28 (+12%)
Mutual labels:  opensource
awesome-mentors
List of people interested in helping you in getting started with open source contribution or your own projects
Stars: ✭ 31 (+24%)
Mutual labels:  opensource
st-device-sdk-c
SmartThings SDK for Direct Connected Devices for C
Stars: ✭ 75 (+200%)
Mutual labels:  opensource
open-gsa-redesign
A fresh start for open.gsa.gov.
Stars: ✭ 27 (+8%)
Mutual labels:  opensource
fc-solve
Freecell Solver - a C library for automatically solving Freecell and some other variants of card Solitaire
Stars: ✭ 49 (+96%)
Mutual labels:  opensource
time-api
Nodejs API for Wobbly Time Tracker for the Teams
Stars: ✭ 24 (-4%)
Mutual labels:  opensource
Hacktober Fest 2021
A repository to contribute and learn OpenSource
Stars: ✭ 20 (-20%)
Mutual labels:  opensource
hacktoberfest20
Participate in Hacktoberfest by contributing to any Open Source project on GitHub! Here is a starter project for first-time contributors. #hacktoberfest20. Don’t forget to read the README.md for guidance.
Stars: ✭ 18 (-28%)
Mutual labels:  opensource
impact-tools
Simple blueprints for change-makers
Stars: ✭ 34 (+36%)
Mutual labels:  opensource
Daemon
适用于 MCSManager 的守护进程,用于与面板端进行分离直接控制和管理程序
Stars: ✭ 72 (+188%)
Mutual labels:  opensource
open-source
A safe, welcoming space for developers to learn good practice for collaboration and try their hand at making contributions to OSS. Maintained by the Virtual Coffee Slack group.
Stars: ✭ 20 (-20%)
Mutual labels:  opensource
kafka-connect-iot-mqtt-connector-example
Internet of Things Integration Example => Apache Kafka + Kafka Connect + MQTT Connector + Sensor Data
Stars: ✭ 170 (+580%)
Mutual labels:  opensource

react-native-audio-session

npm version npm downloads

A React Native module for handling category, category options and mode on the AVAudioSession sharedInstance on iOS.

Getting started

$ yarn add react-native-audio-session

and then

$ react-native link react-native-audio-session

Usage

import AudioSession from 'react-native-audio-session'

// Set AVAudioSession active
AudioSession.setActive(true)
.then(() => { console.log('Success!') })
.catch(error => { console.log('Error!') })

// Set AVAudioSession category
AudioSession.setCategory('Playback')
.then(() => { console.log('Success!') })
.catch(error => { console.log('Error!') })

// Set AVAudioSession category and options
AudioSession.setCategory('Playback', 'MixWithOthers')
.then(() => { console.log('Success!') })
.catch(error => { console.log('Error!') })

// Set AVAudioSession mode
AudioSession.setMode('VoiceChat')
.then(() => { console.log('Success!') })
.catch(error => { console.log('Error!') })

// Set AVAudioSession category, mode and options
AudioSession.setCategoryAndMode('Playback', 'VoiceChat', 'MixWithOthers')
.then(() => { console.log('Success!') })
.catch(error => { console.log('Error!') })

// Get current AVAudioSession category
AudioSession.currentCategory().then(category => {
  console.log(category)
})

// Get current AVAudioSession options
AudioSession.currentCategoryOptions().then(options => {
  console.log(options)
})

// Get current AVAudioSession mode
AudioSession.currentMode().then(mode => {
  console.log(mode)
})

API

Modules

AudioSession

Method Name Params Returns Notes
setActive Bool Promise<void> Set the current AVAudioSession as active (Reference).
setCategory AudioCategory, AudioCategoryOptions (nullable) Promise<void> Set the current AVAudioSession category (Reference).
setMode AudioMode Promise<void> Set the current AVAudioSession mode (Reference).
setCategoryAndMode AudioCategory, AudioMode, AudioCategoryOptions (nullable) Promise<void> Set the current AVAudioSession category and mode (Reference).
currentCategory - Promise<AudioCategory> Get the current AVAudioSession category (Reference).
currentOptions - Promise<AudioCategoryOptions> Get the current AVAudioSession options (Reference).
currentMode - Promise<AudioMode> Get the current AVAudioSession mode (Reference).

Params

AudioCategory

The AudioCategory param to all methods. Corresponds to AVAudioSessionCategory in iOS. Read more: Audio Session Category (developer.apple.com)

Param AVAudioSessionCategory
Ambient AVAudioSessionCategoryAmbient
SoloAmbient AVAudioSessionCategorySoloAmbient
Playback AVAudioSessionCategoryPlayback
Record AVAudioSessionCategoryRecord
PlayAndRecord AVAudioSessionCategoryPlayAndRecord
MultiRoute AVAudioSessionCategoryMultiRoute

AudioCategoryOptions

The AudioCategoryOptions param to all methods. Corresponds to AVAudioSessionCategoryOptions in iOS. Read more: AVAudioSessionCategoryOptions (developer.apple.com)

Param AVAudioSessionCategoryOptions
MixWithOthers AVAudioSessionCategoryOptionMixWithOthers
DuckOthers AVAudioSessionCategoryOptionDuckOthers
InterruptSpokenAudioAndMixWithOthers AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers
AllowBluetooth AVAudioSessionCategoryOptionAllowBluetooth
AllowBluetoothA2DP AVAudioSessionCategoryOptionAllowBluetoothA2DP
AllowAirPlay AVAudioSessionCategoryOptionAllowAirPlay
DefaultToSpeaker AVAudioSessionCategoryOptionDefaultToSpeaker

AudioMode

The AudioMode param to all methods. Corresponds to AVAudioSessionMode in iOS. Read more: Audio Session Mode (developer.apple.com)

Param AVAudioSessionMode
Default AVAudioSessionModeDefault
VoiceChat AVAudioSessionModeVoiceChat
VideoChat AVAudioSessionModeVideoChat
GameChat AVAudioSessionModeGameChat
VideoRecording AVAudioSessionModeVideoRecording
Measurement AVAudioSessionModeMeasurement
MoviePlayback AVAudioSessionModeMoviePlayback
SpokenAudio AVAudioSessionModeSpokenAudio

Contributing

If you find a bug or would like to request a new feature, just open an issue. You are also welcome to submit pull requests and contribute to the project.

License

The MIT License (MIT)

Copyright (c) 2018 Johan Kasperi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].