From 20fbd4612942a504d0156b1a1fb94c44ea9e291d Mon Sep 17 00:00:00 2001 From: 0648596375 Date: Sun, 28 Aug 2016 16:00:10 +0200 Subject: [PATCH 1/4] added support for streaming .mp3 from we URL on iOS --- AudioPlayer.js | 4 ++++ RNAudioPlayer.h | 1 + RNAudioPlayer.m | 9 +++++++++ 3 files changed, 14 insertions(+) diff --git a/AudioPlayer.js b/AudioPlayer.js index f2d221b..6a5ee5f 100644 --- a/AudioPlayer.js +++ b/AudioPlayer.js @@ -8,6 +8,10 @@ var AudioPlayer = { fileName = Platform.OS === 'ios' ? fileName : fileName.replace(/\.[^/.]+$/, ""); RNAudioPlayer.play(fileName); } + + playFromURL(fileName: string) { + RNAudioPlayer.playFromURL(fileName); + } }; module.exports = AudioPlayer; diff --git a/RNAudioPlayer.h b/RNAudioPlayer.h index 4eb3b9b..c5315e9 100644 --- a/RNAudioPlayer.h +++ b/RNAudioPlayer.h @@ -4,5 +4,6 @@ @interface RNAudioPlayer : NSObject @property (strong, nonatomic) AVAudioPlayer *audioPlayer; +@property (strong, nonatomic) AVPlayer *audioPlayerURL; @end diff --git a/RNAudioPlayer.m b/RNAudioPlayer.m index 8572672..1bf81a8 100644 --- a/RNAudioPlayer.m +++ b/RNAudioPlayer.m @@ -18,4 +18,13 @@ @implementation RNAudioPlayer [self.audioPlayer play]; } +RCT_EXPORT_METHOD(playFromURL:(NSString *)url) +{ + NSURL *soundURL=[NSURL URLWithString:url]; + AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL: soundURL]; + self.audioPlayerURL = [AVPlayer playerWithPlayerItem:playerItem]; + [self.audioPlayerURL play]; + self.audioPlayerURL.actionAtItemEnd = AVPlayerActionAtItemEndNone; +} + @end From 8a12214ae97930a6ac981cd656f8d78105195c42 Mon Sep 17 00:00:00 2001 From: 0648596375 Date: Sun, 28 Aug 2016 16:38:13 +0200 Subject: [PATCH 2/4] syntax error quick fix --- AudioPlayer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AudioPlayer.js b/AudioPlayer.js index 6a5ee5f..c4fc588 100644 --- a/AudioPlayer.js +++ b/AudioPlayer.js @@ -7,7 +7,7 @@ var AudioPlayer = { play(fileName: string) { fileName = Platform.OS === 'ios' ? fileName : fileName.replace(/\.[^/.]+$/, ""); RNAudioPlayer.play(fileName); - } + }, playFromURL(fileName: string) { RNAudioPlayer.playFromURL(fileName); From 43229400f41f14438d4aaea57ccc2262be244207 Mon Sep 17 00:00:00 2001 From: 0648596375 Date: Sun, 28 Aug 2016 17:58:51 +0200 Subject: [PATCH 3/4] updated package.json for publishing on npm --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a188300..74a9ad6 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "git@github.com:andreaskeller/react-native-audioplayer.git" + "url": "https://github.com/tbinetruy/react-native-audioplayer" }, "keywords": [ "react-component", @@ -17,6 +17,6 @@ "android", "audioplayer" ], - "author": "Andreas Keller (https://github.com/andreaskeller)", + "author": "Thomas Binetruy and Andreas Keller (forked from https://github.com/andreaskeller/react-native-audioplayer)", "license": "MIT" } From 67927a065ef9e997b55174da0ebdf179f5a79e12 Mon Sep 17 00:00:00 2001 From: 0648596375 Date: Sun, 28 Aug 2016 18:03:02 +0200 Subject: [PATCH 4/4] updated package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 74a9ad6..85f9bf7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "react-native-audioplayer", + "name": "react-native-stream-audio-from-url", "version": "0.2.0", "description": "Small audio player library for react native", "main": "AudioPlayer.js",