🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

3094閲覧

Spotifyのような音楽ストリーミングアプリの開発について

Taka_Yoshi

総合スコア2

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2021/03/27 12:03

編集2021/03/27 12:04

あるジャンルに特化した、Spotifyのような音楽ストリーミングアプリを開発したいと考えています。
そこで疑問なのですが、Spotifyのようなアプリはどのように音楽ストリーミングを実現しているのでしょうか。全ての曲データをサーバーに配置し、SwiftならAVAudioPlayer、AndroidならMediaPlyerなどを使って再生しているのでしょうか?

調べたところSpotifyは自社インフラからGCPに移行し、クラウドでソースやユーザーデータ、楽曲データなどを管理しているようですが、ストリーミングの仕組みについては辿り着きませんでした。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Spotify は独自プロトコルのようです。かなり古い情報ですが下記ご参考まで。
https://open-groove.net/all-things-technology/spotify-architecture/
https://open-groove.net/all-things-technology/spotify-architecture2/
https://open-groove.net/all-things-technology/spotify-architecture3/

とりあえず音楽配信やってみたいということなら、HLS で (動画なしで)
音声のみ流せばいいんじゃないでしょうか。なにしろブラウザだけで再生できますので、
とっかかりとしては簡単なのではないかと。

投稿2021/03/30 16:05

68user

総合スコア2022

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Taka_Yoshi

2021/04/06 04:07

ありがとうございます。
guest

0

ベストアンサー

「ストリーミングの仕組み」というと、かなり漠然で広い範囲に該当する質問かと思います。
素人考えでも、下記みたいにいろんな分野に分解できると思うのですが

+ストリーミングの仕組み + 音楽データを格納する方法(ストレージ) -GCP、AWS、独自サーバ・・・ +ストレージから音楽データを届ける方法(ネットワーク) -負荷分散、HLS、RTP・・・ +届けられたデータを各端末で再生する技術 -iOS、Windows、Android各プラットフォームのAPI・・・

これらを横断的に説明するのは難しいかと思います。
運よくteratailにそういった技術に精通した方がいらっしゃれば回答をくれるかもしれませんが・・・。

興味の赴くままに各個撃破で検索すると

HTTP Live Streaming, HLSのまとめ 概要・仕組み・課題など

GCP と音楽業界 – Spotify と Shazam に見る GCP の活用事例

技術者の思い込み裏切る「Clubhouse」 枯れた技術を水平思考

などたくさんあります。
仕組みについての疑問は、上記のような記事を自分で調べてみて、自分である程度模索するしかないのではないかと。

質問者さんのとっかかりは、質問文全体から読み解くに「音楽ストリーミングサーバ~アプリまでを自作したい」、ということのようなので
たとえば下記のような記事:
ストリーミングサーバを自前で自作する
https://szkhaven.com/2020/04/26/hsl_server_mirror_stream01/

や、技術本を参考に自分でアプリを作られてみて、
具体的なコードレベルで疑問にぶつかったときにteratailに質問された方が、具体的な回答を得やすいのではないかと思います。

あとは、サーバの自作までこだわらないのであれば、Spotify API等を活用して、データの取得・加工部分だけ自分で作り込む、とかでしょうか。

いずれにしてもteratailへの質問は具体的なものを作り始めてからを推奨します。

投稿2021/03/27 13:12

編集2021/03/27 13:13
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Taka_Yoshi

2021/04/06 04:07

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問