通常這樣工作的方式是通過對設備發出的數據信號(如讀卡器)進行編碼,使其可以在另一端進行解碼。聲音是一個波,不同的振幅對應不同的響度,不同的頻率對應不同的音調。想象一下,你有一個正弦波,它在高頻和低頻之間變化,它們彼此之間有很大的不同,以便於區分。發送二進制數據(0和1)的設備可以將該數據轉換爲隨頻率而變化的音頻信號(另一種方式是變化的幅度)。接收器,在這種情況下是移動設備,將信號解碼回0和1。這就是所謂的「頻移鍵控」(更多這裏檢查:http://en.wikipedia.org/wiki/Frequency-shift_keying)。
最簡單的實現方法是嘗試找到一個已經完成的開放庫。發送數據的設備還需要包含某種可以執行初始調製的微控制器。如果你遇到任何好的圖書館,請告訴我,因爲我目前正在尋找 。
要回答你的問題,公司通常不會提供API等來執行此操作。
這看起來像是將數字信號轉換爲音頻信號並轉換回來的許多額外工作,而且您是對的。但是,每個移動設備都具有基本相同的耳機插孔,而Android上的USB端口與iPhone的照明連接器或以前的iPhone中的連接器截然不同。通過網絡或藍牙無線發送也是一種選擇,但它們也有其缺點。
現在移動設備必須使用支持麥克風的專用耳機插孔,否則它不能接收輸入,只能輸出聲音。大多數智能手機都可以這樣做。
無線電按此原理工作(FM =頻率調製,AM =幅度調製)。 舊撥號調制解調器使用FSK,這就是爲什麼每次連接時都聽到這些奇怪的噪音。
希望有幫助!