From 5d43835db8062575364e7b541d3ee18442cd72af Mon Sep 17 00:00:00 2001 From: macdonst Date: Thu, 5 Apr 2012 13:43:00 -0400 Subject: [PATCH] CB-446: Enhance setting data source for local files in AudioPlayer --- framework/src/org/apache/cordova/AudioPlayer.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/framework/src/org/apache/cordova/AudioPlayer.java b/framework/src/org/apache/cordova/AudioPlayer.java index a7ffbeec..0bea455b 100755 --- a/framework/src/org/apache/cordova/AudioPlayer.java +++ b/framework/src/org/apache/cordova/AudioPlayer.java @@ -215,9 +215,15 @@ public class AudioPlayer implements OnCompletionListener, OnPreparedListener, On android.content.res.AssetFileDescriptor fd = this.handler.ctx.getBaseContext().getAssets().openFd(f); this.mPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength()); } - else { - this.mPlayer.setDataSource("/sdcard/" + file); - } + else { + File fp = new File(file); + if (fp.exists()) { + this.mPlayer.setDataSource(file); + } + else { + this.mPlayer.setDataSource("/sdcard/" + file); + } + } this.setState(MEDIA_STARTING); this.mPlayer.setOnPreparedListener(this); this.mPlayer.prepare();