boedy opened a new issue, #345:
URL: https://github.com/apache/cordova-plugin-media/issues/345

   # Bug Report
   
   ## Problem
   
   Files stored on the device which are accessed through `https://localhost` 
should start playing, but don't. Files play fine if accessed directly from the 
web. A simple Html5 player is able to play the file normally through 
`localhost`.
   
   I'm thinking the issue might be related to 
https://github.com/apache/cordova-plugin-file or the combination. Maybe some 
missing metadata (MimeType??) on the response headers. The Html5 player might 
be more forgiving here, but I've not been able to confirm this.
   
   ## Information
   <!-- Include all relevant information that might help understand and 
reproduce the problem -->
   
   LogCat logs when playing file:
   ```
   2022-06-01 20:59:30.446 23784-23895/io.cordova.hellocordova 
V/MediaHTTPService: MediaHTTPService(android.media.MediaHTTPService@771fbf7): 
Cookies: null
   2022-06-01 20:59:30.456 23784-23895/io.cordova.hellocordova W/MediaPlayer: 
Use of stream types is deprecated for operations other than volume control
   2022-06-01 20:59:30.456 23784-23895/io.cordova.hellocordova W/MediaPlayer: 
See the documentation of setAudioStreamType() for what to use instead with 
android.media.AudioAttributes to qualify your playback use case
   2022-06-01 20:59:30.459 23784-23895/io.cordova.hellocordova W/AudioManager: 
Use of stream types is deprecated for operations other than volume control
   2022-06-01 20:59:30.459 23784-23895/io.cordova.hellocordova W/AudioManager: 
See the documentation of requestAudioFocus() for what to use instead with 
android.media.AudioAttributes to qualify your playback use case
   2022-06-01 20:59:30.462 23784-23895/io.cordova.hellocordova W/PluginManager: 
THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread 
for 25ms. Plugin should use CordovaInterface.getThreadPool().
   2022-06-01 20:59:30.463 23784-23884/io.cordova.hellocordova 
V/MediaHTTPService: makeHTTPConnection: CookieManager created: 
java.net.CookieManager@73fb182
   2022-06-01 20:59:30.464 23784-23884/io.cordova.hellocordova 
V/MediaHTTPService: makeHTTPConnection(android.media.MediaHTTPService@771fbf7): 
cookieHandler: java.net.CookieManager@73fb182 Cookies: null
   2022-06-01 20:59:30.468 23784-23784/io.cordova.hellocordova I/chromium: 
[INFO:CONSOLE(245)] "1", source: 
https://localhost/plugins/cordova-plugin-media/www/Media.js (245)
   2022-06-01 20:59:30.724 23784-23846/io.cordova.hellocordova D/: 
PlayerBase::stop() from IPlayer
   2022-06-01 20:59:30.724 23784-23846/io.cordova.hellocordova D/AudioTrack: 
stop() called with 980792 frames delivered
   2022-06-01 21:00:00.719 23784-23884/io.cordova.hellocordova 
E/MediaPlayerNative: error (1, -2147483648)
   2022-06-01 21:00:00.720 23784-23895/io.cordova.hellocordova E/MediaPlayer: 
Error (1,-2147483648)
   2022-06-01 21:00:00.720 23784-23895/io.cordova.hellocordova D/AudioPlayer: 
AudioPlayer.onError(1, -2147483648)
   2022-06-01 21:00:00.721 23784-23895/io.cordova.hellocordova V/MediaPlayer: 
resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null 
mPrepareDrmInProgress=false mActiveDrmScheme=false
   2022-06-01 21:00:00.721 23784-23895/io.cordova.hellocordova V/MediaPlayer: 
cleanDrmObj: mDrmObj=null mDrmSessionId=null
   2022-06-01 21:00:00.729 23784-23784/io.cordova.hellocordova I/chromium: 
[INFO:CONSOLE(261)] "[object Object]", source: 
https://localhost/plugins/cordova-plugin-media/www/Media.js (261)
   ```
   
   Notice the error: 
   ```
   2022-06-01 21:00:00.719 23784-23884/io.cordova.hellocordova 
E/MediaPlayerNative: error (1, -2147483648)
   2022-06-01 21:00:00.720 23784-23895/io.cordova.hellocordova E/MediaPlayer: 
Error (1,-2147483648)
   ```
   
   ### Command or Code
   <!-- What command or code is needed to reproduce the problem? -->
   Some code snippets that can be run in chrome console when inspecting device
   
   Download sample wav file
   ```
   (() => {
     const fileTransfer = new FileTransfer();
     const TIMEOUT_INTERVAL = 30 * 1000;
     const filePath = window.cordova.file.dataDirectory + "test.wav";
     
     fileTransfer.download(
       
"https://github.com/prof3ssorSt3v3/media-sample-files/blob/master/jimmy-coffee.wav?raw=true";,
       filePath,
       file => console.log(file.toURL()),
       error => console.error(error)
     );
   })()
   // returns: https://localhost/__cdvfile_files__/test.wav
   ```
   
   NOT WORKING: Play file locally with cordova-plugin-media (This is the bug)
   ```
   source = 'http://localhost/__cdvfile_files__/test.wav';
   track = new Media(source, null, console.error, console.log);
   track.play();
   ```
   
   WORKING: Play file remotely with cordova-plugin-media
   ```
   source = 
'https://github.com/prof3ssorSt3v3/media-sample-files/blob/master/jimmy-coffee.wav?raw=true';
   track = new Media(source, null, console.error, console.log);
   track.play();
   ```
   
   WORKING: Play file locally with html5
   ```
   sound = new Audio("http://localhost/__cdvfile_files__/test.wav";);
   sound.play();
   ```
   
   
   ### Environment, Platform, Device
   <!-- In what environment, on what platform or on which device are you 
experiencing the issue? -->
   Device: Android 8.1 (API 27)
   
   
   ### Version information
   <!-- 
   What are relevant versions you are using?
   For example:
   Cordova: Cordova CLI, Cordova Platforms, Cordova Plugins 
   Other Frameworks: Ionic Framework and CLI version
   Operating System, Android Studio, Xcode etc.
   -->
   Cordova CLI: 11.0.0vvvv
   Cordova Platforms: android 10.1.2
   Cordova Plugins:
   
   - cordova-plugin-file-transfer 2.0.0-dev "File Transfer"
   - cordova-plugin-file 7.0.0 "File"
   - cordova-plugin-media 6.0.0 "Media"
   
   
   ## Checklist
   <!-- Please check the boxes by putting an x in the [ ] like so: [x] -->
   
   - [x] I searched for existing GitHub issues
   - [x] I updated all Cordova tooling to most recent version
   - [x] I included all the necessary information above
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to