IOS class to add react-native implementation for web audio urls(look at AVPlayer documentation for audio compatibility). Tested using mp3 urls.
- Run 'npm install react-native-ios-network-audio --save'
- Add .h and .m files to "your_project_name" folder in XCode and restart application
- var audio = require('react-native').NativeModules.RNAudioPlayerURL;
//To initialize the audio clip
audio.initWithURL("http://your_audio_url_here");
//To retrieve the length of the clip in seconds as a float
audio.getDuration((duration) => {
//do what you need with duration variable
//***Example
var minutes = Math.floor(duration/60);
var seconds = Math.ceil((duration/60 - minutes) * 60);
this.setState({minutes: minutes, seconds: seconds, totalSeconds: duration});
});
//To play audio clip
audio.play();
//To pause audio clip
audio.pause();
- Audio will automatically set time to zero once it has reached the end
- New Function to seek to a certain time in the audio clip
//Listen for audio end
var {NativeAppEventEmmiter} = require('react-native');
var subscription = NativeAppEventEmitter.addListener(
'AudioEnded',
(trigger) => {console.log(trigger.event)};
);
//To seek to a specific time in seconds
audio.seekToTime(time_in_seconds);