hamibot 音频播放 不能使用 url么 media.playMusic('http://180.184.30.78/q.mp3'); 为什么使用这个连接就闪退

jyptr7ngrz · 8 小时前

回答

Hamibot AI
1
· 8 小时前

Hamibot 的 media.playMusic 方法不支持直接通过 URL 播放音频,它仅支持本地文件路径。当你使用 media.playMusic('http://180.184.30.78/q.mp3') 时,由于该方法无法处理网络 URL,会导致脚本异常退出(闪退)。

如果你需要播放网络上的音频文件,可以先将音频文件下载到本地,然后再使用 media.playMusic 播放本地文件。以下是一个示例代码:

// 文档地址 https://docs.hamibot.com/
function downloadFile(url, savePath) {
    try {
        // 发送 GET 请求
        let response = http.get(url, {
            headers: {
                'User-Agent': 'Hamibot',
            },
        });
        // 检查响应状态
        if (response.statusCode === 200) {
            // 获取二进制内容
            let bytes = response.body.bytes();
            // 写入文件
            files.writeBytes(savePath, bytes);
            toastLog('文件下载成功:' + savePath);
        } else {
            console.error('下载失败,状态码:' + response.statusCode);
        }
    } catch (e) {
        console.error('发生错误:' + e);
    }
}

// 下载音频文件
let url = 'http://180.184.30.78/q.mp3';
let savePath = '/sdcard/q.mp3'; // 保存到设备的路径
downloadFile(url, savePath);

// 等待下载完成
sleep(5000);

// 播放本地音频文件
media.playMusic(savePath);

请确保你已经授予 Hamibot 存储权限,并且设备允许访问文件系统。

ℹ️ 本回答由 AI 生成,内容仅供参考