【问题标题】:How to play the audio of a SoundCloud song via URL input如何通过 URL 输入播放 SoundCloud 歌曲的音频
【发布时间】:2016-08-24 08:21:09
【问题描述】:

我正在编写一个 Minecraft 插件,(只是对游戏 Minecraft 的修改,但在 Minecraft 服务器上使用,而不是客户端修改)

我想创造一些玩家输入的东西

“/播放歌曲”

连同 SoundCloud URL,它会找到该 URL 并循环它。

(能够播放 soundcloud 播放列表将不胜感激)

所有其他工作将由我完成。 (检查 URL 是否为空,测试播放器是否发送 /playsong 以及有效的 URL 等)

添加 cmets 并带有 // 告诉我某些代码的作用将不胜感激。

感谢您的阅读。

~Matthew274

【问题讨论】:

    标签: java url soundcloud minecraft playsound


    【解决方案1】:

    这通常是不可能的。 Minecraft 无法播放需要从远程服务器下载的任意歌曲。您仍然可以通过几种方法做到这一点,但这并不简单。

    一种技术是获取歌曲并尝试将其转换为一系列音符以用于/playsound(或音符块)。这并不容易,也不会给出完美的结果,但它假设可行的(虽然我不知道任何细节)。

    另一种技术是创建一个资源包,将其发送给客户端,然后让他们播放歌曲。这也是不平凡的,但仍然可行。一般程序是:

    • 从 soundcloud 查找并下载歌曲(我不知道 soundcloud 的 API,但我想他们有)。
    • 如有必要,将歌曲从.mp3 转换为.ogg 文件。可能还有一个库。
    • 使用该声音(和适当的声音索引)创建一个资源包,并暂时将其下载到您的服务器上。
    • 发送链接到该资源包的Resource Pack Send 数据包。
    • 等待客户回复“接受”的Resource Pack Status
    • 使用Named Sound Effect 数据包(或/playsound)播放歌曲。

    这个过程并不简单,但是如果你在播放列表中保留一组歌曲并在资源包中发送多首歌曲,你应该能够实现它。您需要ProtocolLib 来发送自定义数据包。

    很抱歉,我无法为此提供代码,但这是一项复杂的任务,需要多个部分,我不知道其中的完整详细信息。

    【讨论】:

    • 你好。谢谢你回答我。真糟糕,我不能做我计划做的事情。
    • 我想出的是,玩家可以将歌曲下载到他们的资源包中,在一个名为“songs”的新文件夹中,然后也许在游戏中他们可以执行“/playsongradiative”并且它将在“歌曲”中查找名为“radioactive”的文件,如果找到,它将开始向播放器播放歌曲。如果找不到文件“radioactive”,它会向播放器发送一条消息:“找不到文件“radioactive”。我希望这个能奏效!
    • @Matthew274 是的,应该可以。您可能还需要在资源包中创建一个custom sound index
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多