java - 使用 BlackBerry JDE 4.5.0 从 HTTP 服务器保存 mp3 并播放文件

标签 java blackberry blackberry-jde

抱歉,我对 BlackBerry 开发还很陌生。我需要做的就是保存一个 mp3 文件(我从 HTTP 服务器下载),然后播放它。我已完成大部分代码,但我不断收到文件系统错误 1003。(我必须使用 BlackBerry JDE 4.5.0)

try {
    FileConnection fconn = (FileConnection) Connector.open( "file://data/myfile.mp3", Connector.READ_WRITE );
    final HttpConnection connection = (HttpConnection) Connector.open("http://som.server.com/andFile.mp3;interface=wifi");

    if (!fconn.exists()) {
        fconn.create();
    } else {
        fconn.delete();
        fconn = (FileConnection) Connector.open( "file://data/myfile.mp3", Connector.READ_WRITE );
        fconn.create();
    }

    final InputStream inputStream = connection.openInputStream();
    final StringBuffer buffer = new StringBuffer();

    try {
        int ch;
        while ( ( ch = inputStream.read() ) != -1 ) {
            buffer.append( (char) ch );
    } finally {
        inputStream.close();
        connection.close();
    }

    fconn.setWritable(true);

    final OutputStream outputStream = fconn.openOutputStream();
    outputStream.write(buffer.toString().getBytes());
    outputStream.close();
} catch (Exception e) {
    System.out.println(e.getMessage());
}


final Player mPlayer;
final VolumeControl vc;
final InputStream is = getClass().getResourceAsStream("data/myfile.mp3");

try {
    mPlayer = Manager.createPlayer(is, "audio/mpeg");
    mPlayer.addPlayerListener(WelcomeScreen.this);
    mPlayer.realize();
    mPlayer.prefetch();

    vc = (VolumeControl) mPlayer.getControl("VolumeControl");
    vc.setLevel(50);

    mPlayer.start();
} catch (Exception e) {
    System.out.println(e.getMessage());
}

在上面的代码中,我只是尝试播放我保存的文件,但是我得到了文件系统错误。我确实检查了设备,似乎该文件实际上已正确保存一次。

在应用程序数据文件夹下保存文件的正确路径是什么?

最佳答案

检查 this article

这里解释了如何为要保存到设备内存或内存 sd 卡的文件编写文件路径。

关于java - 使用 BlackBerry JDE 4.5.0 从 HTTP 服务器保存 mp3 并播放文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977564/

相关文章:

java - 无法安装黑莓应用程序

java - Json 忽略实体中的集合

java - Chromium - 在 Android Studio 中构建 Chome_public_apk 时出错

java - 合并 JPanel 类和对象声明类

java - 使用mybatis在插入语句中执行子插入语句

blackberry - 如何在黑莓中创建透明的自定义进度条弹出屏幕?

java - 有关 BlackBerry BrowserField2 的问题

blackberry - 是否有任何用于图像的 LazyLoader 可以在 BlackBerry 的 ListField 中加载图像?

Virtualbox 虚拟机 : is it OpenGL 1. x 上的 Windows 7 兼容吗?

blackberry - 如何在 BlackBerry 上获取后台进程列表