【问题标题】:URL to Soundcloud Audio Stream required需要 Soundcloud 音频流的 URL
【发布时间】:2012-10-07 06:12:46
【问题描述】:

我正在为我们的蓝调俱乐部创建一个智能手机/平板电脑应用程序,为了让我配置应用程序来播放我们的音乐,它需要一个流式音频的 URL。我想从我的一个 SoundCloud 集流式传输歌曲。

如何找到音频流的 URL?

【问题讨论】:

    标签: android ios audio-streaming tablet


    【解决方案1】:

    没有指向您的 SoundCloud 集的 URL。

    听起来您指的是一个普通的流 URL,通常是您将 URL 提供给 SHOUTcast/Icecast/HTTP 流的地方。 SoundCloud 资源在单独的文件中提供,因此您无需使用单个 URL。

    然而,一切都没有丢失。如果您想将您的应用程序与 SoundCloud 集成,可以使用 API。你可以在这里找到更多信息:http://developers.soundcloud.com/blog/stream-and-download

    【讨论】:

      【解决方案2】:

      使用像 Bash 这样的语言很容易做到。下面是一个简单的例子,它打印了一组歌曲的所有流媒体 URL 和标题:

      #!/bin/bash
      
      ORIGINAL_PAGE="$(echo "$1" | sed 's|https|http|')"
      SOURCE="$(curl -s "$ORIGINAL_PAGE")"
      SONG_URLS="$(echo "$SOURCE" | grep -oE "(uri\":\"/[^/]*/[^/\"]*\"|href=\"/[^/]*/[^/]*/\?size=large\")" | sed 's|/\?size=large||' | tr '=' '"' | cut -d\" -f3 | sed -e "s|^|http://soundcloud.com|" -e 's|$|/?size=medium|')"
      
      if [ -z "$SONG_URLS" ]; then
          printf "No songs were found at: $ORIGINAL_PAGE\n"
          exit 1
      fi
      
      SONG_COUNT=$(echo "$SONG_URLS" | wc -l)
      
      for (( SONG_ID=1; SONG_ID <= SONG_COUNT; SONG_ID+=1 )); do
          SONG_URL="$(echo "$SONG_URLS" | sed -n "$SONG_ID"p)"
          SET_SONG_PAGE_SOURCE="$(curl -s "$SONG_URL")"
          SONG_TITLE="$(echo "$SET_SONG_PAGE_SOURCE" | grep -o "title\":.*\",\"commentable\"" | sed 's|title\":\"||;s|\",\"commentable\"||' | head -1)"
          STREAM_URL="$(echo "$SET_SONG_PAGE_SOURCE" | grep -o "http://media.soundcloud.com/stream/[^\"<]*\?stream_token=[^\"<]*" | head -1)"
          echo "$STREAM_URL#$SONG_TITLE"
      done
      

      我不确定这是否会对您有所帮助,但也许会。祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-12
        • 1970-01-01
        • 2015-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-19
        相关资源
        最近更新 更多