ICEmobile
  1. ICEmobile
  2. MOBI-231

Native visual interface for microphone

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Spring 1.0 Alpha
    • Fix Version/s: 1.1 Beta
    • Component/s: None
    • Labels:
      None
    • Environment:
      ICEmobile

      Description

      Currently the microphone integration has no visual interface and relies on a toggle call from javascript: mobi.microphone starts recording and a subsequent mobi.microphone stops recording. This does not allow additional features such as a level meter, cancel button, or configuration options, so a preferred approach is to implement a similar approach to camera and camcorder where the media is captured from a single javascript call. This will also allow a single button to be used for microphone rather than the current toggle button.

        Activity

        Ted Goddard created issue -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28952 Fri May 04 17:20:08 MDT 2012 ted.goddard visual popup for audio recording (MOBI-231)
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/Container/NativeInterface.h
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/Container/NativeInterface.m
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/Container/MainViewController.mm
        Steve Maryka made changes -
        Field Original Value New Value
        Fix Version/s 1.1 Beta [ 10320 ]
        Ted Goddard made changes -
        Affects Version/s Spring 1.0 Alpha [ 10334 ]
        Affects Version/s EE 1.0 Final [ 10318 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29023 Fri May 11 15:56:35 MDT 2012 steve.maryka Mobi-231: Added native audio recording interface. Currently this is accessible through the options menu. More work is required to hook this into the native javascript, but that awaits the component changes. For now, the old logic has been left in place.
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/integration/audio/project.properties
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/integration/audio/src/org/icemobile/client/android/AudioInterface.java
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/container/res/menu/dev_menu.xml
        Commit graph ADD /icemobile/trunk/icemobile/client/android/container/res/layout/auth_dialog.xml
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/integration/audio/src/org/icemobile/client/android/AudioRecorder.java
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/container/src/org/icemobile/client/android/ICEmobileContainer.java
        Hide
        Steve Maryka added a comment -

        Android interface has been achieved using...

        Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
        container.startActivityForResult(intent, recordCode);

        Currently this is hooked up through the options menu for testing. It still needs to be hooked into the native JS once the microphone tag has been changed. The old logic has been left in place for now.

        SVN Checkin 29023.

        Passing this Jira on to Greg for BB implementation.

        Show
        Steve Maryka added a comment - Android interface has been achieved using... Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); container.startActivityForResult(intent, recordCode); Currently this is hooked up through the options menu for testing. It still needs to be hooked into the native JS once the microphone tag has been changed. The old logic has been left in place for now. SVN Checkin 29023. Passing this Jira on to Greg for BB implementation.
        Steve Maryka made changes -
        Assignee Steve Maryka [ steve.maryka ] Greg Dick [ greg.dick ]
        Hide
        Ted Goddard added a comment -

        JSF component should be modified to be a simple button that calls ice.microphone('mic').

        Show
        Ted Goddard added a comment - JSF component should be modified to be a simple button that calls ice.microphone('mic').
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29055 Tue May 15 17:37:16 MDT 2012 judy.guglielmin MOBI-231 updated microphone js call (and removed js for toggle). button gets default button style per device. upload id for multipart also changed as per js script tag which now uses just the clientId, instead of <clientId>+"_mic". So this means that the id for the upload is not <clientId>+"-file" instead of the old way <clientId>+"_mic-file". MOBI-157 means you can't deploy WITHIN the IDE to test the playback of any uploaded files on this.
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/components/component/src/org/icefaces/mobi/component/microphone/MicrophoneRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29062 Wed May 16 11:02:11 MDT 2012 judy.guglielmin MOBI-231 removal of span outside of button for container. Note that SX still has "mic" on id of button
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/components/component/src/org/icefaces/mobi/component/microphone/MicrophoneRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29164 Wed May 23 16:58:57 MDT 2012 steve.maryka mobi-231. hooked native mic interface to JS layer. modified mime type detection to include 3gpp file types.
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/integration/util/src/org/icemobile/client/android/UtilInterface.java
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/container/res/menu/dev_menu.xml
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/container/assets/icefaces/native-interface.js
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/container/src/org/icemobile/client/android/ICEmobileContainer.java
        Hide
        Steve Maryka added a comment -

        mic integration now complete for android. svn checking 29164

        Show
        Steve Maryka added a comment - mic integration now complete for android. svn checking 29164
        Hide
        Greg Dick added a comment -

        In Blackberry land, there is no option to start the audio voice recorder to implement the old FileJournalListener trick. The only arguments to the Invoke class are:

        Category: Signed static int APP_TYPE_ADDRESSBOOK
        Category: Signed static int APP_TYPE_BLUETOOTH_CONFIG
        Category: Signed static int APP_TYPE_CALCULATOR
        Category: Signed static int APP_TYPE_CALENDAR
        Category: Signed static int APP_TYPE_CAMERA
        Category: Signed static int APP_TYPE_MAPS
        Category: Signed static int APP_TYPE_MEMOPAD
        Category: Signed static int APP_TYPE_MESSAGES
        Category: Signed static int APP_TYPE_PHONE
        Category: Signed static int APP_TYPE_SEARCH
        Category: Signed static int APP_TYPE_TASKS

        In order to achieve the perceived benifits of the new API, I'll have to build a complete screen with controls to activate and manipulate the settings on the javax.microedition audio API.

        Is the current implementation such a problem?

        1) There is no record level control available in the blackberry anyway.
        2) Cancel is implemented currently simply by not uploading the audio clip.

        Show
        Greg Dick added a comment - In Blackberry land, there is no option to start the audio voice recorder to implement the old FileJournalListener trick. The only arguments to the Invoke class are: Category: Signed static int APP_TYPE_ADDRESSBOOK Category: Signed static int APP_TYPE_BLUETOOTH_CONFIG Category: Signed static int APP_TYPE_CALCULATOR Category: Signed static int APP_TYPE_CALENDAR Category: Signed static int APP_TYPE_CAMERA Category: Signed static int APP_TYPE_MAPS Category: Signed static int APP_TYPE_MEMOPAD Category: Signed static int APP_TYPE_MESSAGES Category: Signed static int APP_TYPE_PHONE Category: Signed static int APP_TYPE_SEARCH Category: Signed static int APP_TYPE_TASKS In order to achieve the perceived benifits of the new API, I'll have to build a complete screen with controls to activate and manipulate the settings on the javax.microedition audio API. Is the current implementation such a problem? 1) There is no record level control available in the blackberry anyway. 2) Cancel is implemented currently simply by not uploading the audio clip.
        Hide
        Ted Goddard added a comment -

        A screen should be built, but it can be very simple (this is currently the case for the iPhone UI):
        Modal with four buttons: Record, Stop, Cancel, Done.

        Show
        Ted Goddard added a comment - A screen should be built, but it can be very simple (this is currently the case for the iPhone UI): Modal with four buttons: Record, Stop, Cancel, Done.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29299 Tue Jun 05 11:27:37 MDT 2012 greg.dick mobi-231 Initial checkin of AudioLauncher
        Files Changed
        Commit graph ADD /icemobile/trunk/icemobile/client/blackberry/container/src/org/icemobile/client/blackberry/script/audio/AudioRecorderLauncher.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29303 Tue Jun 05 11:38:46 MDT 2012 greg.dick MOBI-233, MOBI-219, MOBI-231 A number of changes for authorization, audio controller and using the new api in native-interface.js
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/blackberry/container/src/org/icemobile/client/blackberry/ICEmobileContainer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29306 Tue Jun 05 11:43:17 MDT 2012 greg.dick MOBI-231 Changed AudioRecorder to Screen implementation
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/blackberry/container/src/org/icemobile/client/blackberry/script/audio/AudioRecorder.java
        Hide
        Ted Goddard added a comment -

        Please resolve if implemented for BlackBerry – this is now implemented in iOS and Android.

        Show
        Ted Goddard added a comment - Please resolve if implemented for BlackBerry – this is now implemented in iOS and Android.
        Hide
        Greg Dick added a comment -

        Resolved.

        Show
        Greg Dick added a comment - Resolved.
        Greg Dick made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Migration made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Greg Dick
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: