ブルース クラブ用のスマートフォン/タブレット アプリケーションを作成しています。音楽を再生するようにアプリケーションを構成するには、ストリーミング オーディオへの URL が必要です。SoundCloud セットの 1 つから曲をストリーミングしたいと考えています。
オーディオ ストリームの URL を見つけるにはどうすればよいですか?
ブルース クラブ用のスマートフォン/タブレット アプリケーションを作成しています。音楽を再生するようにアプリケーションを構成するには、ストリーミング オーディオへの URL が必要です。SoundCloud セットの 1 つから曲をストリーミングしたいと考えています。
オーディオ ストリームの URL を見つけるにはどうすればよいですか?
SoundCloudセットへのURLはありません。
通常のストリームURLを参照しているようです。これは通常、SHOUTcast / Icecast/HTTPストリームへのURLを指定する場所です。SoundCloudリソースは個別のファイルで提供されるため、使用するURLは1つではありません。
ただし、すべてが失われるわけではありません。アプリをSoundCloudと統合する場合は、APIを利用できます。あなたはここでそれについてのより多くの情報を見つけることができます:http: //developers.soundcloud.com/blog/stream-and-download
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
これが役立つかどうかはわかりませんが、役立つかもしれません。幸運を。