Skip to content

Commit f5996cc

Browse files
committed
mediaplayer v6.0.0
1 parent 4adf835 commit f5996cc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+434
-341
lines changed

docs/mediaplayer/_includes/add-manual-appdescriptor.mdx

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,74 @@ The following should be added to your `extensions` node in your application desc
2525
Displaying video on Android requires that we enable hardware acceleration on most devices.
2626
You can check whether this is required for your supported device list however generally we advise you enable acceleration.
2727

28-
You also need to add a service. This service is only required if you are using background audio playback on Android, however it doesn't hurt to add the service either way.
28+
You also need to add a service and a receiver. These are only required if you are using background audio playback or the remote command center on Android, however it doesn't hurt to add them either way.
2929

3030
```xml
31-
<manifest android:installLocation="auto">
31+
<manifest android:installLocation="auto" >
32+
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="35" />
33+
3234
<uses-permission android:name="android.permission.INTERNET"/>
3335
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
34-
36+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"/>
37+
3538
<application android:hardwareAccelerated="true">
3639

37-
<service android:name="com.distriqt.extension.mediaplayer.audio.AudioPlayerService" android:enabled="true" android:exported="true" />
40+
<service android:name="com.distriqt.extension.mediaplayer.audio.AudioPlayerService"
41+
android:enabled="true"
42+
android:exported="true"
43+
android:permission="android.permission.FOREGROUND_SERVICE"
44+
android:foregroundServiceType="mediaPlayback" />
45+
46+
<receiver android:name="com.distriqt.extension.mediaplayer.remotecommandcenter.RemoteCommandCenterReceiver" android:exported="true">
47+
<intent-filter>
48+
<action android:name="com.distriqt.mediaplayer.next.custom"/>
49+
<action android:name="com.distriqt.mediaplayer.prev.custom"/>
50+
<action android:name="com.distriqt.mediaplayer.skip_forward"/>
51+
<action android:name="com.distriqt.mediaplayer.skip_backward"/>
52+
<action android:name="androidx.media3.ui.notification.play"/>
53+
<action android:name="androidx.media3.ui.notification.pause"/>
54+
<action android:name="androidx.media3.ui.notification.prev"/>
55+
<action android:name="androidx.media3.ui.notification.next"/>
56+
<action android:name="androidx.media3.ui.notification.ffwd"/>
57+
<action android:name="androidx.media3.ui.notification.rewind"/>
58+
<action android:name="androidx.media3.ui.notification.stop"/>
59+
<action android:name="androidx.media3.ui.notification.dismiss"/>
60+
</intent-filter>
61+
</receiver>
62+
63+
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
3864

3965
</application>
4066

4167
</manifest>
4268
```
4369

70+
#### Android Gradle Version
71+
72+
We have updated the required gradle version used to build your application to be higher than the default AIR currently uses (April 2025).
73+
74+
To specify a higher version add the following to your android node in your application descriptor:
75+
76+
```xml
77+
<android>
78+
<gradleVersion>8.9</gradleVersion>
79+
<androidGradlePluginVersion>8.7.3</androidGradlePluginVersion>
80+
81+
...
82+
</android>
83+
```
84+
85+
If you don't do this you will see the following error when building your application:
86+
87+
```
88+
Unexpected failure: Unable to run java: com.adobe.air.ADTException: gradle tool failed:
89+
FAILURE: Build failed with an exception.
90+
91+
...
92+
93+
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65
94+
```
95+
4496

4597
### iOS
4698

docs/mediaplayer/changelog.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
### 2025.08.26 [v6.0.0]
2+
3+
```
4+
feat(android): migrate from exoplayer to androidx.media3 v1.8.0 (resolves https://github.com/distriqt/ANE-MediaPlayer/issues/242)
5+
feat(ios,android): add video scale modes - fit, fill, zoom (resolves https://github.com/distriqt/ANE-MediaPlayer/issues/231)
6+
fix(android): resolve issues with background audio and remote command center (resolves https://github.com/distriqt/ANE-MediaPlayer/issues/247)
7+
feat(android,ios): player view will dispatch mouse up and down with local x,y coords (resolves https://github.com/distriqt/ANE-MediaPlayer/issues/186)
8+
feat(android): support runtimeInBackgroundThread operation (resolves https://github.com/distriqt/ANE-MediaPlayer/issues/240)
9+
```
10+
111
### 2024.12.19 [v5.0.0]
212

313
```

static/asdocs/mediaplayer/all-classes.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html>
22
<head>
33
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4-
<title>All Classes - distriqt // MediaPlayer</title>
4+
<title>All Classes - MediaPlayer</title>
55
<base target="classFrame">
66
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
77
<link rel="stylesheet" href="print.css" type="text/css" media="print">
@@ -55,6 +55,9 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
5555
<tr>
5656
<td><a href="com/distriqt/extension/mediaplayer/events/RemoteCommandCenterEvent.html" title="com.distriqt.extension.mediaplayer.events.RemoteCommandCenterEvent">RemoteCommandCenterEvent</a></td>
5757
</tr>
58+
<tr>
59+
<td><a href="com/distriqt/extension/mediaplayer/ResizeMode.html" title="com.distriqt.extension.mediaplayer.ResizeMode">ResizeMode</a></td>
60+
</tr>
5861
<tr>
5962
<td><a href="com/distriqt/extension/mediaplayer/sound/Sound.html" title="com.distriqt.extension.mediaplayer.sound.Sound"><i>Sound</i></a></td>
6063
</tr>
@@ -70,4 +73,4 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
7073
</table>
7174
</body>
7275
</html>
73-
<!--Copyright distriqt 2016<br/>Thu Dec 19 2024, 11:44 AM +10:00 -->
76+
<!--Copyright Michael Archbold 2025<br/>Tue Aug 26 2025, 08:27 PM +10:00 -->

static/asdocs/mediaplayer/all-index-A.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>A </title><link rel="stylesheet" href="style.css" type="text/css" media="screen"><link rel="stylesheet" href="print.css" type="text/css" media="print"><link rel="stylesheet" href="override.css" type="text/css"></head><body><script language="javascript" type="text/javascript" src="asdoc.js"></script><script language="javascript" type="text/javascript" src="help.js"></script><script language="javascript" type="text/javascript" src="cookies.js"></script><script language="javascript" type="text/javascript"><!--
2-
asdocTitle = 'A Index - distriqt // MediaPlayer';
2+
asdocTitle = 'A Index - MediaPlayer';
33
var baseRef = '';
44
window.onload = configPage;
55
--></script>
66
<script type="text/javascript">
77
scrollToNameAnchor();
8-
</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">distriqt // MediaPlayer Native Extension Documentation</td><td class="titleTableTopNav" align="right"><a href="package-summary.html" onclick="loadClassListFrame('all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="class-summary.html" onclick="loadClassListFrame('all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a id="framesLink1" href="index.html?all-index-A.html&amp;index-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="images/logo.jpg" class="logoImage" alt=" Adobe Logo " title=" Adobe Logo "></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">A&nbsp;Index</td><td class="titleTableSubNav" id="subNav" align="right"></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
8+
</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">MediaPlayer Native Extension Documentation</td><td class="titleTableTopNav" align="right"><a href="package-summary.html" onclick="loadClassListFrame('all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="class-summary.html" onclick="loadClassListFrame('all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a id="framesLink1" href="index.html?all-index-A.html&amp;index-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="images/logo.jpg" class="logoImage" alt=" Adobe Logo " title=" Adobe Logo "></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">A&nbsp;Index</td><td class="titleTableSubNav" id="subNav" align="right"></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
99
<!--
1010

1111
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("A Index"); titleBar_setSubNav(false,false,false,false,false,false,false,false,false,false,false ,false,false,false,false,false);}
@@ -20,4 +20,4 @@
2020
Options when creating an AudioPlayer
2121
</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/mediaplayer/audio/AudioPlayerOptions.html#AudioPlayerOptions()" onclick="javascript:loadClassListFrame('com/distriqt/extension/mediaplayer/audio/class-list.html');">AudioPlayerOptions</a>() &mdash; Constructor, class com.distriqt.extension.mediaplayer.audio.<a href="com/distriqt/extension/mediaplayer/audio/AudioPlayerOptions.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/mediaplayer/audio/class-list.html');">AudioPlayerOptions</a></td></tr><tr><td width="20"></td><td></td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/mediaplayer/MediaPlayerOptions.html#autoPlay" onclick="javascript:loadClassListFrame('com/distriqt/extension/mediaplayer/class-list.html');">autoPlay</a> &mdash; Property, class com.distriqt.extension.mediaplayer.<a href="com/distriqt/extension/mediaplayer/MediaPlayerOptions.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/mediaplayer/class-list.html');">MediaPlayerOptions</a></td></tr><tr><td width="20"></td><td>
2222
Whether the player should start playing the media as soon as the media is ready (default: false)
23-
</td></tr><tr><td colspan="2" style="padding-bottom:20px"></td></tr><tr><td colspan="2"><font color="black" size="10px" style="bold">A</font>&nbsp;&nbsp;<a href="all-index-B.html" onclick="javascript:loadClassListFrame('index-list.html');">B</a>&nbsp;&nbsp;<a href="all-index-C.html" onclick="javascript:loadClassListFrame('index-list.html');">C</a>&nbsp;&nbsp;<a href="all-index-D.html" onclick="javascript:loadClassListFrame('index-list.html');">D</a>&nbsp;&nbsp;<a href="all-index-E.html" onclick="javascript:loadClassListFrame('index-list.html');">E</a>&nbsp;&nbsp;<a href="all-index-F.html" onclick="javascript:loadClassListFrame('index-list.html');">F</a>&nbsp;&nbsp;<a href="all-index-G.html" onclick="javascript:loadClassListFrame('index-list.html');">G</a>&nbsp;&nbsp;<a href="all-index-H.html" onclick="javascript:loadClassListFrame('index-list.html');">H</a>&nbsp;&nbsp;<a href="all-index-I.html" onclick="javascript:loadClassListFrame('index-list.html');">I</a>&nbsp;&nbsp;<a href="all-index-J.html" onclick="javascript:loadClassListFrame('index-list.html');">J</a>&nbsp;&nbsp;<a href="all-index-K.html" onclick="javascript:loadClassListFrame('index-list.html');">K</a>&nbsp;&nbsp;<a href="all-index-L.html" onclick="javascript:loadClassListFrame('index-list.html');">L</a>&nbsp;&nbsp;<a href="all-index-M.html" onclick="javascript:loadClassListFrame('index-list.html');">M</a>&nbsp;&nbsp;<a href="all-index-N.html" onclick="javascript:loadClassListFrame('index-list.html');">N</a>&nbsp;&nbsp;<a href="all-index-O.html" onclick="javascript:loadClassListFrame('index-list.html');">O</a>&nbsp;&nbsp;<a href="all-index-P.html" onclick="javascript:loadClassListFrame('index-list.html');">P</a>&nbsp;&nbsp;<a href="all-index-Q.html" onclick="javascript:loadClassListFrame('index-list.html');">Q</a>&nbsp;&nbsp;<a href="all-index-R.html" onclick="javascript:loadClassListFrame('index-list.html');">R</a>&nbsp;&nbsp;<a href="all-index-S.html" onclick="javascript:loadClassListFrame('index-list.html');">S</a>&nbsp;&nbsp;<a href="all-index-T.html" onclick="javascript:loadClassListFrame('index-list.html');">T</a>&nbsp;&nbsp;<a href="all-index-U.html" onclick="javascript:loadClassListFrame('index-list.html');">U</a>&nbsp;&nbsp;<a href="all-index-V.html" onclick="javascript:loadClassListFrame('index-list.html');">V</a>&nbsp;&nbsp;<a href="all-index-W.html" onclick="javascript:loadClassListFrame('index-list.html');">W</a>&nbsp;&nbsp;<a href="all-index-X.html" onclick="javascript:loadClassListFrame('index-list.html');">X</a>&nbsp;&nbsp;<a href="all-index-Y.html" onclick="javascript:loadClassListFrame('index-list.html');">Y</a>&nbsp;&nbsp;<a href="all-index-Z.html" onclick="javascript:loadClassListFrame('index-list.html');">Z</a>&nbsp;&nbsp;</td></tr></table><p></p><center class="copyright"><footer>Copyright <a href="https://distriqt.com" target="_top">distriqt</a> 2016</footer><br/>Thu Dec 19 2024, 11:44 AM +10:00 </center></div></body></html><!--Copyright distriqt 2016<br/>Thu Dec 19 2024, 11:44 AM +10:00 -->
23+
</td></tr><tr><td colspan="2" style="padding-bottom:20px"></td></tr><tr><td colspan="2"><font color="black" size="10px" style="bold">A</font>&nbsp;&nbsp;<a href="all-index-B.html" onclick="javascript:loadClassListFrame('index-list.html');">B</a>&nbsp;&nbsp;<a href="all-index-C.html" onclick="javascript:loadClassListFrame('index-list.html');">C</a>&nbsp;&nbsp;<a href="all-index-D.html" onclick="javascript:loadClassListFrame('index-list.html');">D</a>&nbsp;&nbsp;<a href="all-index-E.html" onclick="javascript:loadClassListFrame('index-list.html');">E</a>&nbsp;&nbsp;<a href="all-index-F.html" onclick="javascript:loadClassListFrame('index-list.html');">F</a>&nbsp;&nbsp;<a href="all-index-G.html" onclick="javascript:loadClassListFrame('index-list.html');">G</a>&nbsp;&nbsp;<a href="all-index-H.html" onclick="javascript:loadClassListFrame('index-list.html');">H</a>&nbsp;&nbsp;<a href="all-index-I.html" onclick="javascript:loadClassListFrame('index-list.html');">I</a>&nbsp;&nbsp;<a href="all-index-J.html" onclick="javascript:loadClassListFrame('index-list.html');">J</a>&nbsp;&nbsp;<a href="all-index-K.html" onclick="javascript:loadClassListFrame('index-list.html');">K</a>&nbsp;&nbsp;<a href="all-index-L.html" onclick="javascript:loadClassListFrame('index-list.html');">L</a>&nbsp;&nbsp;<a href="all-index-M.html" onclick="javascript:loadClassListFrame('index-list.html');">M</a>&nbsp;&nbsp;<a href="all-index-N.html" onclick="javascript:loadClassListFrame('index-list.html');">N</a>&nbsp;&nbsp;<a href="all-index-O.html" onclick="javascript:loadClassListFrame('index-list.html');">O</a>&nbsp;&nbsp;<a href="all-index-P.html" onclick="javascript:loadClassListFrame('index-list.html');">P</a>&nbsp;&nbsp;<a href="all-index-Q.html" onclick="javascript:loadClassListFrame('index-list.html');">Q</a>&nbsp;&nbsp;<a href="all-index-R.html" onclick="javascript:loadClassListFrame('index-list.html');">R</a>&nbsp;&nbsp;<a href="all-index-S.html" onclick="javascript:loadClassListFrame('index-list.html');">S</a>&nbsp;&nbsp;<a href="all-index-T.html" onclick="javascript:loadClassListFrame('index-list.html');">T</a>&nbsp;&nbsp;<a href="all-index-U.html" onclick="javascript:loadClassListFrame('index-list.html');">U</a>&nbsp;&nbsp;<a href="all-index-V.html" onclick="javascript:loadClassListFrame('index-list.html');">V</a>&nbsp;&nbsp;<a href="all-index-W.html" onclick="javascript:loadClassListFrame('index-list.html');">W</a>&nbsp;&nbsp;<a href="all-index-X.html" onclick="javascript:loadClassListFrame('index-list.html');">X</a>&nbsp;&nbsp;<a href="all-index-Y.html" onclick="javascript:loadClassListFrame('index-list.html');">Y</a>&nbsp;&nbsp;<a href="all-index-Z.html" onclick="javascript:loadClassListFrame('index-list.html');">Z</a>&nbsp;&nbsp;</td></tr></table><p></p><center class="copyright"><footer>Copyright <a href="https://michaelarchbold.com" target="_top">Michael Archbold</a> 2025</footer><br/>Tue Aug 26 2025, 08:27 PM +10:00 </center></div></body></html><!--Copyright Michael Archbold 2025<br/>Tue Aug 26 2025, 08:27 PM +10:00 -->

0 commit comments

Comments
 (0)