我的Android应用程序针对的是运行Android 4.4.2的非root三星Galaxy Note 2手机.
当我的USB麦克风插入手机时,它显示为/ dev/snd/pcmC1D0c,因此我知道它正在被识别为音频捕获设备.
有没有办法将音频从这个设备捕获到我的应用程序而不需要生根Galaxy Note 2?
如果无法从Java访问它,是否可以使用本机c代码(JNI)来访问现有的tinyALSA驱动程序并捕获音频而无需为手机生根?
我知道我可以使用libusb直接捕获音频数据包,但我希望更清洁/更简单的方式,因为手机已经识别我的音频输入设备.
我升级到Windows 10,版本1703 build 15063(Creators Update)正式发布.当我在WPF桌面应用程序中运行以下代码时,BluetoothLEDevice.FromBluetoothAddressAsync永远不会返回.
在我的Windows 10更新之前(即之前的1607版本14393),此代码工作正常.如果在新的Win 10 1703中作为UWP运行,此代码也可以正常工作.
BluetoothLEAdvertisementWatcher BleWatcher = null;
private void Button_Click(object sender, RoutedEventArgs e)
{
BleWatcher = new BluetoothLEAdvertisementWatcher
{
ScanningMode = BluetoothLEScanningMode.Active
};
BleWatcher.Received += Watcher_Received;
BleWatcher.Start();
}
private async void Watcher_Received(BluetoothLEAdvertisementWatcher sender,
BluetoothLEAdvertisementReceivedEventArgs args)
{
var device = await BluetoothLEDevice.FromBluetoothAddressAsync(args.BluetoothAddress);
// never continues beyond this point above with my BTLE devices that previously worked
}
Run Code Online (Sandbox Code Playgroud)
我按照/sf/answers/2613467601/中的说明设置我的WPF桌面应用程序以使用UWP API.
问题更严重,因为我的现有WPF应用程序将在客户开始升级到Win 10 1703时被破坏,因为我现有的exe不再有效.
是否有其他人在(非UWP)桌面exe中使用Windows 10 1703更新遇到此问题?
经过进一步的实验,我确实发现如果我将可选的BluetoothAddressType.Public第二个参数添加到FromBluetoothAddressAsync调用中,则返回该函数,但返回的设备为null.
var device = await BluetoothLEDevice.FromBluetoothAddressAsync(args.BluetoothAddress, BluetoothAddressType.Public);
Run Code Online (Sandbox Code Playgroud) 我的iOS应用程序通过UIApplicationDelegate的openURL方法从其他iOS应用程序接收文件.我在我的应用程序中使用NSString*SourceApplication参数来跟踪将文件发送到我的应用程序的应用程序的名称.
在iOS7中,SourceApplication参数始终使用"getdropbox.dropbox","google.Drive"或"evernote.iPhone.evernote"等字符串填充.
在我(以及我的应用程序的其他几个用户)升级到iOS8之后,SourceApplication参数似乎总是为零.url参数使用发送到我的应用程序的文件的URL正确填充.似乎只有SourceApplication参数的行为可能已经改变了iOS8.
还有其他人在iOS8上看到这个吗?在iOS8中我发现了一些我不知道的变化吗?这是iOS错误吗?