- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我发现我的智能手机 (android 4.2.2) 无法生成方波(我需要它使用音频输出作为数据传输的串行线)。一开始我以为这是我的应用程序,但后来我做了很多重要的测试。这些是最新的测试。我希望你能找到这个现象的解释。
我生成了一个 wav 文件,里面有一个 500Hz 的方波。我在安卓手机和苹果 iphone 上播放 wav 文件。我用我的笔记本(连接到笔记本音频输入的音频线)记录和分析信号。
然后我用连接蓝牙收发器设备和笔记本音频输入的音频线重复了测试。智能手机通过蓝牙(一次一个)连接到蓝牙收发器设备。
注意:蓝牙收发设备是通过蓝牙接收音频数据并通过标准音频插孔输出音频的设备。
这是直接连接在音频插孔上的 iPhone 产生的信号:
这是蓝牙设备从 iphone 接收数据时产生的信号:
这是直接连接音频插孔的安卓设备产生的信号:
这是蓝牙设备从安卓智能手机接收数据时产生的信号:
易观分析:
-蓝牙设备引入了信号带宽的削减(在我看来可以接受)。
-iphone 的模拟部分非常好(它输出非常好的方波)
-Android 设备的模拟部分非常糟糕(即使它非常适合音乐播放)
-android 手机发送到蓝牙设备的数据不正确,实际上获取的信号与从iphone 获取的数据不同。
我将智能手机恢复为出厂默认设置,但问题并未解决。我也尝试安装 kitkat custom rom 但问题仍然存在。我也尝试过使用 Nexus 5 (android 5) 和 samsung S4 mini (android 4.2.2 就像我的一样),它们就像 iphone。
我怀疑问题与 DTS 工作室声音有关(我尝试禁用它并以不同的方式设置它但没有成功)。 DTS 似乎是我的手机和三星 s4 mini 之间唯一的软件差异。
问题:我可以理解我的安卓设备的模拟部分不如 iphone,我也可以假设我的安卓设备的模拟部分坏了......但我不明白为什么我不当我插入蓝牙收发设备时得到相同的结果。
最佳答案
为什么要使用方波?这是要求吗?方波在数字系统中是有意义的,但作为模拟信号,它具有各种令人讨厌的特性(如果我记得的话,就像无限频谱)。为什么不在手机音频系统设计的人类可听范围内使用两种音调?
有许多信号和调制技术可用于通过模拟或音频 channel 发送数据。您看过以下任何内容吗?
How could you transfer data over an audio line?
Transfering data using audio signal in android
第三个链接描述了使用 Frequency-shift keying在安卓系统中。这看起来是一个非常好的解决方案。 FSK 的维基百科页面包含以下关于音频 FSK 的评论
Audio frequency-shift keying (AFSK) is a modulation technique by which digital data is represented by changes in the frequency (pitch) of an audio tone, yielding an encoded signal suitable for transmission via radio or telephone. Normally, the transmitted audio alternates between two tones: one, the "mark", represents a binary one; the other, the "space", represents a binary zero. ... AFSK has the advantage that encoded signals will pass through AC-coupled links, including most equipment originally designed to carry music or speech.
关于方波上的android音频失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29778771/
我一直在为实时流和静态文件(HTTP 上的 MP3)构建网络广播播放器。我选了Howler.js作为规范化 quirks 的后端的 HTML5 Audio (思考:自动播放、淡入/淡出、进度事件)。
vue移动端input上传视频、音频,供大家参考,具体内容如下 html部分 ?
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 7年前关闭。 Improve this questi
我想在我的程序中访问音频和视频。 MAC里面可以吗? 我们的程序在 Windows 上运行,我使用 directshow 进行音频/视频编程。但我想在 MAC 中开发相同的东西。 有没有像direct
我的应用程序(使用 Flutter 制作,但这应该无关紧要)具有类似于计时器的功能,可以定期(10 秒到 3 分钟)发出滴答声。我在我的 Info.plist 中激活了背景模式 Audio、AirPl
我是 ionic 2 的初学者 我使用了音频文件。 import { Component } from '@angular/core'; import {NavController, Alert
我有一个包含ListView和图片的数据库,我想在每个语音数据中包含它们。我已经尝试过,但是有很多错误。以下是我的java和xml。 数据库.java package com.example.data
我在zend framework 2上建立了一个音乐社交网络。您可以想象它与SoundCloud相同,用户上传歌曲,其他用户播放它们,这些是网站上的基本操作。 我知道将要托管该页面的服务器将需要大量带
我正在尝试在android应用中播放音频,但是在代码中AssetFileDescriptor asset1及其下一行存在错误。这是代码: MediaPlayer mp; @Override prote
我对 WordPress Audio Shortcode有问题。我这样使用它: 但是在前面,在HTML代码中我得到了: document.createElement('audio');
我正在做一项关于降低噪音的滤波技术的实验。我在数据集中的样本是音频文件(.wav),因此,我有:原始录制的音频文件,我将它们与噪声混合,因此变得混合(噪声信号),我将这些噪声信号通过滤波算法传递,输出
一个人会使用哪种类型的神经网络架构将声音映射到其他声音?神经网络擅长学习从序列到其他序列,因此声音增强/生成似乎是它们的一种非常流行的应用(但不幸的是,事实并非如此-我只能找到一个(相当古老的)洋红色
这个让我抓狂: 在专用于此声音播放/录制应用程序的 Vista+ 计算机上,我需要我的应用程序确保(默认)麦克风电平被推到最大。我该怎么做? 我找到了 Core Audio lib ,找到了如何将 I
{ "manifest_version": 2, "name": "Kitten Radio Extension", "description": "Listen while browsi
class Main { WaveFileReader reader; short[] sample; Complex[] tmpComplexArray; publi
我正在使用电话录音软件(android),该软件可以记录2个人在电话中的通话。每个电话的输出是一个音频文件,其中包含来自 call 者和被 call 者的声音。 但是,大多数情况下,运行此软件的电话发
我正在构建一个需要语音激活命令的Web应用程序。我正在使用getUserMedia作为音频输入。 对于语音激活命令,该过程是用户将需要通过记录其语音来“校准”命令。例如,对于“停止”命令,用户将说出“
我正在开发一个Cordova应用程序,并将PouchDB用作数据库,当连接可用时,它将所有信息复制到CouchDB。 我成功存储了简单的文本和图像。 我一直在尝试存储视频和音频,但是没有运气。 我存储
我正在开发web application,我必须在其中使用.MP3的地方使用播放声音,但是会发生问题。 声音为play good in chrome, Firefox,但为safari its not
如何减少音频文件的位深?是否忽略了MSB或LSB?两者混合吗? (旁问:这叫什么?) 最佳答案 TL / DR:将音频曲线高度变量右移至较低位深度 可以将音频视为幅度(Y轴)随时间(X轴)的模拟曲线。
我是一名优秀的程序员,十分优秀!