1

我最近从 codenameone 开始,我正在开发一个音乐播放器应用程序。我想从文件夹中获取音乐。我在文档中找到了有关“音频捕获和录制”的代码。

但我正在寻找的只是播放特定文件夹中的音频。如何调整此代码?我也没有找到这些音频的保存位置。

这是代码+录制代码的片段。

在此处输入图像描述

Button button = new Button("musiques!");
         Form hi = new Form("musiques", new BorderLayout(BorderLayout.CENTER_BEHAVIOR_CENTER_ABSOLUTE));
        hi.addComponent(BorderLayout.CENTER, LayeredLayout.encloseIn(BoxLayout.encloseY(button)));
        
        button.addActionListener((e) -> {
                 InputStream streamFromResource = CN.getResourceAsStream("/filename.mp3"); 
        try { 
            MediaManager.createMedia(streamFromResource, "audio/mp3");
        } catch (IOException ex) {
            System.out.print("non");
        }
        });
4

1 回答 1

1

音频在fs.getAppHomePath() + "recordings/". 将音频捆绑到 jar 中会增加 jar 大小和最终应用程序大小,这将超过免费配额,因此我们通常不建议这样做。

如果您仍然选择使用该路线,您可以将文件存储在 src 文件夹的根目录中并使用CN.getResourceAsStream("/filename.mp3").

然后你可以使用:

Media m = MediaManager.createMedia(streamFromResource, "audio/mp3");

或者,您可以将文件存储在网络上并使用 HTTPS URL 而不是文件 URL 来播放它们。

您不能动态列出文件,因为没有针对 HTTP 或 jar 内容的列表选项。

于 2021-05-13T02:56:34.443 回答