2013-10-11 21 views
5

Belirli bir noktada bir eylemi (gecikme olmaksızın birden çok cihazda bir şarkıyı çalma) gerçekleştirmek zorundayım. Benim şartım, uygulamanın herhangi bir internet bağlantısı kullanmaması gerektiğidir.Bir ses 2 veya daha fazla ios cihazda nasıl senkronize edilir

  1. Play şarkıyı tüm cihazlarda 5 saniye sonra: Aşağıdaki]

    Zaten denedim (Audio) verileri çalmak için zaman Yani bir zaman tam noktayı gerekir. (hala milisaniye gecikmesine neden olur)

  2. Şarkının çalınmasını tanımlamak için küçük bir metin bildirimi gönderin ve ardından tüm aygıtlarda oynatmaya başlayın. Ama gönderme ve bu bildirimi aldıktan Her test milisaniye boşluğu vardır, tüm cihazlarda otomatiğe :(:(
  3. Seti süresini milisaniye zaman alır ve daha sonra geçen metin mesajının zaman farkı kontrol etti.
+0

. Veriler çok hızlı bir şekilde gönderiliyor, ancak yine de tam bir zaman formu oynamaya ihtiyacım var. –

+1

Sorunuz hiç çaba göstermediği için kapalı olacaktır. Ayrıca, yinelenen sorular olduğu için, mevcut yayınları henüz aramadı. http://stackoverflow.com/questions/17377390/what-is-the-best-method-of-synchronizing-audio-across-ios-devices-with-wifi Bu, farklı bir sorun olmasına rağmen, bir göz atın Bu cevap http://stackoverflow.com/questions/8357514/ios-stream-audio-from-one-ios-device-to-another/8492598#8492598 –

+0

Son 4 gündür bu konu üzerinde arama yapıyorum. Bu bağlantıları da taramış olsaydı, Ama yardım yok .... –

cevap

6

Önce sen 2 cihazlar dahili saatini senkronize etmek gerek Görünüşe iOS'ta olabilir en doğru saati mutlak zamanı yaparak:.

CFAbsoluteTime now = CFAbsoluteTimeGetCurrent(); 

Sonra fark almak cihaza B cihaza A den bu kez göndermek gerekir cihazda B ve geri A'a gönderin, ardından farkı ağ işleminde geçirilen süreyle karşılaştırın. Bu şekilde 2 cihaz zamanının oldukça hassas bir senkronizasyonuna sahip olabilirsiniz. (Bu, şebeke süresinin istek ve yanıt arasında simetrik olduğu ve cihaz üzerinde B numaralı cihazda fazla bir yük olmadığını varsaymaktadır).

enter image description here

Burasdan cihazlarda 2 AVAudioPlayer şarkı set örneğini ve prepareToPlay arayıp nihayet senkronize üzerinde gecikme göre oyun yöntemini ateş edebilirsiniz. Bu size belirgin bir hassasiyet vermemelidir.

Bir başka rota da, müziği, ilk yayılan cihaza göre senkronize etmek için mikrofona bağlı ikinci cihaza bir AudioUnit yerleştirilmesidir.

+0

Teşekkürler., Neredeyse işe yaradı ... Şerefe ...:) –

+0

Asimetrik ağ isteği/yanıtı ile ilgili sorunlarınız varsa, sürecin ilk bölümünü (B'den A'ya) tekrar işlemeye ve sonuçların ortalamasını tekrarlamaya değer olabilir. – cescofry

İlgili konular