[
https://issues.apache.org/jira/browse/CB-14120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504864#comment-16504864
]
Bilal Adhi commented on CB-14120:
---------------------------------
I am facing the same problem.
1st thing i can not get the duration of media file, then i try to use recursive
function on (onSuccess) event of mp3 with new file name or index everything is
fine with Android (any version) and iOS (except 11.3 and 11.4).
*Here are details of my ionic versions*
li packages: (/usr/local/lib/node_modules)
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
global packages:
cordova (Cordova CLI) : 7.1.0
local packages:
@ionic/app-scripts : 2.1.3
Cordova Platforms : android 6.3.0 ios 4.5.4
Ionic Framework : ionic-angular 3.6.0
System:
ios-deploy : 1.9.2
ios-sim : 5.0.13
Node : v6.11.0
npm : 3.10.10
OS : macOS High Sierra
Xcode : Xcode 9.3.1 Build version 9E501
Environment Variables:
ANDROID_HOME : not set
Misc:
backend : pro
> Playback issues in iOS 11.3/11.4
> ---------------------------------
>
> Key: CB-14120
> URL: https://issues.apache.org/jira/browse/CB-14120
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-plugin-media
> Environment: Ionic 3, Angular JS 4
> Reporter: Muddasir Lakhani
> Priority: Blocker
>
> I am trying to play multiple audio tracks one after the other using the Media
> Plugin.
> On pressing play, I download all the tracks as a zip file, and then play them
> one after the other until the last track is played. This works fine on
> Android (all models) and also on iOS up to 11.2. On iOS 11.3 onwards, the
> next track never starts from the beginning, but from a random duration. So
> basically if an Album has 4 tracks, first one will play from duration 00:00,
> and then the next ones will start to play from random duration, and never
> from 00:00.
> Code Snippet is below:
> {{if (ContainerClass.GetPlatformName() == "android") { this._mFile =
> this.media.create(this._URL + "/" + AlbumNo + "/" + this._fileName[index]); }
> else if (ContainerClass.GetPlatformName() == "ios") { this._mFile =
> this.media.create((this._URL + "/" + AlbumNo + "/" +
> this._fileName[index]).replace(/^file:\/\//, '')); }
> this._mFile.onStatusUpdate.subscribe(status => console.log(status));
> this._mFile.stop(); this._mFile.play(); ServicesClass._mFile = this._mFile;
> ServicesClass._isPlaying = 1; ServicesClass._playingAlbumNo = this.AlbumNo;
> ServicesClass._isPlaying = 1 this._isPlaying = 1;
> this._mFile.onSuccess.subscribe(result => { index++; this._playingIndex =
> index; this._mFile.release(); if (ServicesClass._stopPlaying == false) {
> this.PlayFiles(AlbumNo, index); this.showMp3Player(true); } else { return; }
> }); this._mFile.onError.subscribe(error => console.log('Error!',
> JSON.stringify(error))); } }}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]