{ "id": "64007", "key": "TIMOB-3375", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2018-01-13T20:47:34.000+0000", "created": "2011-04-15T03:43:29.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api" ], "versions": [], "issuelinks": [ { "id": "55315", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "outwardIssue": { "id": "168684", "key": "TIMOB-24909", "fields": { "summary": "iOS: Move Ti.Media.AudioPlayer to AVPlayer internally, remove external library-dependency", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "28192", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "113468", "key": "TIMOB-13704", "fields": { "summary": "Android: Add setTime() method to allow playback from arbitrary locations in a stream", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-08-06T17:41:06.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "*Problem description*\r\nTi.Media.AudioPlayer is lacking several features. Because of this, developing an audio player with the current API is not possible. For example, Ti.Media.Sound has a duration property, which isn't available in Ti.Media.AudioPlayer.\r\n\r\n*Proposed fixes (available in linked repositry)*\r\n- ADD duration read-only property\r\n- ADD time property (for seeking)\r\n- ADD volume property\r\n- ADD next/prev and seeking remote control events\r\n- FIX play/pause remote controls don't work when using background audio\r\n- FIX changing the URL doesn't work (unless you stop first)\r\n- FIX progress events only fire for the first URL\r\n\r\nAlso suggested on http://stackoverflow.com/q/35157844/4626813\r\n- Expose contentType header to be send when retrieving the file/stream", "attachment": [], "flagged": false, "summary": "TiAPI: Implement several missing Ti.Media.AudioPlayer features", "creator": { "name": "ronnieswietek", "key": "ronnieswietek", "displayName": "Ronnie Swietek", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ronnieswietek", "key": "ronnieswietek", "displayName": "Ronnie Swietek", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 985, "state": "closed", "name": "2018 Sprint 01 SDK", "startDate": "2017-12-31T16:58:54.631Z", "endDate": "2018-01-14T16:58:00.000Z", "completeDate": "2018-01-17T22:44:27.028Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "130625", "author": { "name": "gerrycardinaliii", "key": "gerrycardinaliii", "displayName": "Gerry Cardinal III", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}
In iOS, Ti.Media.AudioPlayer is missing many key features and\nhas a few bugs as well. I have been working on them in Instant\nAutomatic's fork and will be submitting a pull request to\nAppcelerator soon.
\nFor completeness, here is what I am working on:
\n-ADD duration read-only property -ADD time property (for seeking)\n-ADD volume property -ADD next/prev and seeking remote control\nevents -FIX play/pause remote controls don't work when using\nbackground audio -FIX changing the URL doesn't work (unless you\nstop first) -FIX progress events only fire for the first URL
Let me know if I am missing anything.
It is missing many things..another one is seek definitely. What\nis Instant Automatic? I would love to see the features added
Instant Automatic is a mobile applications startup that I work\nfor. We currently use Titanium to develop our applications.
\nI have completed and tested all the work I described above and\npushed it to our fork on Titanium: https://github.com/organizations/instantautomatic
\nI will be doing even more testing early next week and then I\nwill submit the pull request to Appcelerator. I have no clue what\ntheir process is for responding to pull requests.
whoa that is really cool! I haven't looked into the user\nsubmitted plugins for Ti yet. Any examples of how someone would use\nyour new code? You write the plugin in obj-c right?
Titanium does offer support for custom modules and we have\ndeveloped some of these for our projects, but this is not a custom\nmodule. I have made these changes to Titanium itself (specifically,\nTi.Media.AudioPlayer). I will be submitting a pull request with\nupdates to the Kitchen Sink that showcase all of the new\nfunctionality.
\nBoth Titanium and custom modules (for iOS) are written in\nObjective-C.
\nFeel free to clone or fork the Instant Automatic fork of\nTitanium and play with the new features.