capturethread.java

来自「基于J2me的手机软件演示例子」· Java 代码 · 共 62 行

JAVA
62
字号
package com.wy.ch12;

import java.io.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
import javax.microedition.rms.*;

public class CaptureThread extends Thread{
    private PlayMedia7 play;
    
    public CaptureThread(PlayMedia7 p) {
        play=p;
    }
    public void run(){
        try {
            Player p = Manager.createPlayer("capture://audio");
            p.realize();
            RecordControl rc = (RecordControl)p.getControl("RecordControl");
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            rc.setRecordStream(output);
            rc.startRecord();
            
            p.start();
            Thread.currentThread().sleep(5000);
            rc.commit();
            p.close();
            byte data[] = output.toByteArray();
            RecordStore rs;
            try {
                RecordStore.deleteRecordStore("capture");
                rs= RecordStore .openRecordStore("capture", true);
            } catch (RecordStoreException ex) {
                System.out.println("无法打开RecordStore");
                return;
            }
            int id=-1;
            try {
                id=rs.addRecord(data, 0, data.length);
            } catch (RecordStoreNotOpenException ex) {
                System.out.println("无法打开RecordStore");
                return;
            } catch (RecordStoreException ex) {
                System.out.println("RecordStoreException");
                return;
            }
            if(id!=-1){
                play.setCurrentId(id);
            }
            
        } catch (MediaException ex) {
            System.out.println("MediaException");
            return;
        } catch (IOException ex) {
            System.out.println("IOException");
            return;
        } catch (InterruptedException ie) {
            System.out.println("InterruptedException");
            return;
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?