web-dev-qa-db-ja.com

iOSが複数のBluetoothデバイスに同時にオーディオを再生する

私はいくつかの ブルートゥーススピーカー(類似) を持っていて、本当に同時に複数のスピーカーで再生できるようにしたいと思っていますが、それを行う方法が見つかりません。

独自のアプリケーションをデプロイできるので、必ずしもパブリックAPIを介して実行する必要はありませんが、iPhoneハードウェアはそれをサポートしていますか?

16
Martin

複数のスピーカーに接続できますが、一度に再生できるのは1つだけです。 BTには​​、2つの高品質ステレオストリームを同時に送信するのに十分な帯域幅がありません。また、このようなことをするために独自のアプリを作成する方法はないと思います。

8
TJD

マスターBluetoothデバイスは、ピコネット(Bluetoothテクノロジを使用するアドホックコンピュータネットワーク)内の最大7つのデバイスと通信できますが、すべてのデバイスがこの最大数に達するわけではありません。デバイスは合意により役割を切り替えることができ、スレーブはマスターになることができます(たとえば、電話への接続を開始するヘッドセットは、接続のイニシエーターとしてマスターとして開始する必要がありますが、その後スレーブになることを好む場合があります)。 Bluetoothコア仕様では、2つ以上のピコネットを接続してスキャッタネットを形成し、特定のデバイスが1つのピコネットでマスターの役割を果たし、別のピコネットでスレーブの役割を同時に果たします。

いつでも、マスターと他の1つのデバイス間でデータを転送できます(ほとんど使用されていないブロードキャストモードを除く)。マスターは、アドレス指定するスレーブデバイスを選択します。通常、ラウンドロビン方式で1つのデバイスから別のデバイスに迅速に切り替わります。アドレス指定するスレーブを選択するのはマスターであるのに対し、スレーブは(理論的には)各受信スロットでリッスンすることになっているため、マスターである方がスレーブであるよりも負担が軽くなります。 7つのスレーブのマスターになることは可能です。複数のマスターのスレーブになることは困難です。

Bonjourは、ゼロ構成ネットワークとも呼ばれ、業界標準のIPプロトコルを使用してローカルネットワーク上のデバイスとサービスを自動的に検出できます。 Bonjourは、Cocoa、Ruby、Python、およびその他の言語からアクセスできる、洗練されていながら使いやすいプログラミングインターフェイスを使用して、ネットワークサービスの検出、公開、および解決を容易にします。

  • (void)discoverServices:(NSArray *)serviceUUIDs、これを使用してデバイスのリストを検出します。 enter image description here

デバイスに接続し、接続のステータスを確認します

@property(readonly) BOOL isConnected

次に、cbroadcastを使用して通信します。そのためには、 https://developer.Apple.com/bonjour/ を使用してください。

参照: Apple Ref およびwiki、参照画像 Apple doc

1
Kajal

同じネットワーク上で2つのAirMacExpressを使用して、両方のスピーカーにストリーミングできます。各スピーカーは1つのAirMacExpressに接続されています...

試すことができるもう1つのオプションは、Bluetooth経由でiPhoneとiPadの間で音楽をストリーミングでき、それぞれがスピーカーとして機能するTuneMobと呼ばれるiOS用アプリです。セカンダリiPhone/iPadの出力として他のスピーカーを接続することもできます...

0
user3554737