音频录制未获取 setRecordLocation()

发布于 2024-12-09 17:24:33 字数 1552 浏览 2 评论 0原文

我试图将音频保存在“按钮单击”(调用 run() 方法)上的指定设备位置。这是我的代码。

public Audio() {

}
public void run()
{
    try{            

        try{
            _player = Manager.createPlayer("capture://audio?encoding=audio/amr");

        }
        catch(MediaException e)
        {
            Dialog.alert(e.toString());
        }           
        _player.realize();
        _rControl =(RecordControl)_player.getControl("RecordControl");

        try{
            **//Point 1//**_rControl.setRecordLocation("file:///Device Memory/samples/ringtones/recordTest1.amr");

        }
        catch(MediaException e){e.printStackTrace();}
        catch(IOException e){e.printStackTrace();}

        _rControl.startRecord();
        _player.start();
        System.out.println("<<--Successful-->>>");
    }
    catch(Exception e){e.printStackTrace();}
}
public void stop()
{
    try{
        if(_rControl != null)
        {
            _rControl.stopRecord();
            try{
                _rControl.commit();
            }catch(Exception e){e.printStackTrace();}
            _rControl = null;
        }

        if(_player != null)
        {
            _player.close();
            _player=null;
        }
    }catch(Exception e){e.printStackTrace();}
}

在 run() 方法中,我在尝试设置音频文件位置的第 1 点收到 IOException。但是当我尝试这个时:

   {
        _rControl.setRecordLocation("file:///system/samples/ringtones/recordTest1.amr");
   }

我发现它可以与 9550 模拟器一起使用,但不能与 8900 模拟器一起使用。那么我应该设置什么位置才能使其与 8900 模拟器和 8900 黑莓设备一起使用?

I am trying to save audio at a specified device location on Button Click (which invokes run() method). This is my code.

public Audio() {

}
public void run()
{
    try{            

        try{
            _player = Manager.createPlayer("capture://audio?encoding=audio/amr");

        }
        catch(MediaException e)
        {
            Dialog.alert(e.toString());
        }           
        _player.realize();
        _rControl =(RecordControl)_player.getControl("RecordControl");

        try{
            **//Point 1//**_rControl.setRecordLocation("file:///Device Memory/samples/ringtones/recordTest1.amr");

        }
        catch(MediaException e){e.printStackTrace();}
        catch(IOException e){e.printStackTrace();}

        _rControl.startRecord();
        _player.start();
        System.out.println("<<--Successful-->>>");
    }
    catch(Exception e){e.printStackTrace();}
}
public void stop()
{
    try{
        if(_rControl != null)
        {
            _rControl.stopRecord();
            try{
                _rControl.commit();
            }catch(Exception e){e.printStackTrace();}
            _rControl = null;
        }

        if(_player != null)
        {
            _player.close();
            _player=null;
        }
    }catch(Exception e){e.printStackTrace();}
}

In run() method, i am getting IOException at Point 1 where i am trying to set location for audio file. But when I tried this:

   {
        _rControl.setRecordLocation("file:///system/samples/ringtones/recordTest1.amr");
   }

i found it working with 9550 simulator but not with 8900 simulator. So what location should i set to make this working with 8900 simulator and also 8900 blackberry device?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秉烛思 2024-12-16 17:24:33

您应该使用:

javax.microedition.io.file.FileSystemRegistry.listRoots()

来获取运行代码的设备上的可用根文件系统。

You should use:

javax.microedition.io.file.FileSystemRegistry.listRoots()

to get available root file systems on the device running the code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文