Search in sources :

Example 6 with Audio

use of com.codename1.media.Audio in project CodenameOne by codenameone.

the class GameCanvasImplementation method playNativeBuiltinSound.

/**
 * @inheritDoc
 */
protected void playNativeBuiltinSound(Object data) {
    try {
        try {
            Media m = createMedia(new ByteArrayInputStream((byte[]) data), "audio/mpeg", null);
            m.play();
        } catch (Exception err) {
            // some simulators take issue with the audio/mpeg string but the mp3 string
            // works fine
            Media m = createMedia(new ByteArrayInputStream((byte[]) data), "audio/mp3", null);
            m.play();
        }
    } catch (IOException ex) {
        // not likely since the stream is a byte array input stream
        ex.printStackTrace();
    }
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) Media(com.codename1.media.Media) IOException(java.io.IOException) RecordStoreException(javax.microedition.rms.RecordStoreException) MediaException(javax.microedition.media.MediaException) IOException(java.io.IOException) ConnectionNotFoundException(javax.microedition.io.ConnectionNotFoundException)

Example 7 with Audio

use of com.codename1.media.Audio in project CodenameOne by codenameone.

the class BlackBerryImplementation method captureAudio.

public void captureAudio(ActionListener response) {
    int h = CodeModuleManager.getModuleHandle("net_rim_bb_voicenotesrecorder");
    if (h == 0) {
        throw new RuntimeException("capture audio works only if Voice Notes is installed");
    }
    captureCallback = new EventDispatcher();
    captureCallback.addListener(response);
    UiApplication.getUiApplication().addFileSystemJournalListener(new FileSystemJournalListener() {

        private long lastUSN;

        public void fileJournalChanged() {
            long USN = FileSystemJournal.getNextUSN();
            for (long i = USN - 1; i >= lastUSN; --i) {
                FileSystemJournalEntry entry = FileSystemJournal.getEntry(i);
                if (entry != null) {
                    String path = entry.getPath();
                    if (entry.getEvent() == FileSystemJournalEntry.FILE_ADDED && path.endsWith(".amr")) {
                        UiApplication.getUiApplication().removeFileSystemJournalListener(this);
                        try {
                            EventInjector.KeyEvent inject = new EventInjector.KeyEvent(EventInjector.KeyEvent.KEY_DOWN, Characters.ESCAPE, 0, 200);
                            inject.post();
                        } catch (Exception e) {
                        // try to close the voicenotesrecorder
                        }
                        captureCallback.fireActionEvent(new ActionEvent("file://" + path));
                        captureCallback = null;
                        break;
                    }
                }
            }
            lastUSN = USN;
        }
    });
    app.setWaitingForReply(true);
    ApplicationDescriptor desc = new ApplicationDescriptor(CodeModuleManager.getApplicationDescriptors(h)[0], null);
    try {
        ApplicationManager.getApplicationManager().runApplication(desc, true);
    } catch (ApplicationManagerException e) {
        EventLog.getInstance().logErrorEvent("err " + e.getMessage());
        e.printStackTrace();
    }
}
Also used : FileSystemJournalListener(net.rim.device.api.io.file.FileSystemJournalListener) ActionEvent(com.codename1.ui.events.ActionEvent) IOException(java.io.IOException) RecordStoreException(javax.microedition.rms.RecordStoreException) MediaException(javax.microedition.media.MediaException) ConnectionNotFoundException(javax.microedition.io.ConnectionNotFoundException) FileSystemJournalEntry(net.rim.device.api.io.file.FileSystemJournalEntry) EventDispatcher(com.codename1.ui.util.EventDispatcher)

Example 8 with Audio

use of com.codename1.media.Audio in project CodenameOne by codenameone.

the class BlackBerryImplementation method playNativeBuiltinSound.

/**
 * @inheritDoc
 */
protected void playNativeBuiltinSound(Object data) {
    try {
        try {
            Media m = createMedia(new ByteArrayInputStream((byte[]) data), "audio/mpeg", null);
            m.play();
        } catch (Exception err) {
            // some simulators take issue with the audio/mpeg string but the mp3 string
            // works fine
            Media m = createMedia(new ByteArrayInputStream((byte[]) data), "audio/mp3", null);
            m.play();
        }
    } catch (IOException ex) {
        // not likely since the stream is a byte array input stream
        ex.printStackTrace();
    }
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) Media(com.codename1.media.Media) IOException(java.io.IOException) IOException(java.io.IOException) RecordStoreException(javax.microedition.rms.RecordStoreException) MediaException(javax.microedition.media.MediaException) ConnectionNotFoundException(javax.microedition.io.ConnectionNotFoundException)

Aggregations

IOException (java.io.IOException)5 ConnectionNotFoundException (javax.microedition.io.ConnectionNotFoundException)4 MediaException (javax.microedition.media.MediaException)4 RecordStoreException (javax.microedition.rms.RecordStoreException)4 Media (com.codename1.media.Media)3 ActionEvent (com.codename1.ui.events.ActionEvent)3 ByteArrayInputStream (java.io.ByteArrayInputStream)3 File (java.io.File)3 RandomAccessFile (java.io.RandomAccessFile)3 Paint (android.graphics.Paint)2 MediaPlayer (android.media.MediaPlayer)2 BufferedOutputStream (com.codename1.io.BufferedOutputStream)2 Audio (com.codename1.media.Audio)2 Animation (com.codename1.ui.animations.Animation)2 BorderLayout (com.codename1.ui.layouts.BorderLayout)2 FileInputStream (java.io.FileInputStream)2 OutputStream (java.io.OutputStream)2 MediaRecorder (android.media.MediaRecorder)1 TarInputStream (com.codename1.io.tar.TarInputStream)1 com.codename1.ui (com.codename1.ui)1