在尝试制作一个android app连接索尼相机在PTP(远程遥控模式)下获取相机照片,也就是照片直播app出现的问题总结
PTP直接连接,android usb发送包后,只能收到-1,根本走不通
使用libgphoto2交叉编译后的nkd,分为两种情况:
1.静态下可以链接,但是一点使用到libgphoto2 ndk时就会说初始化失败
2.动态下android 可以获取到usb信息,但是libgphoto2无法识别相机设备
ptp连接过程如下






在尝试制作一个android app连接索尼相机在PTP(远程遥控模式)下获取相机照片,也就是照片直播app出现的问题总结
PTP直接连接,android usb发送包后,只能收到-1,根本走不通
使用libgphoto2交叉编译后的nkd,分为两种情况:
1.静态下可以链接,但是一点使用到libgphoto2 ndk时就会说初始化失败
2.动态下android 可以获取到usb信息,但是libgphoto2无法识别相机设备
ptp连接过程如下






阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题分析
你正在尝试开发一个Android App,用于连接索尼相机在PTP模式下获取相机照片。然而,你遇到了以下问题:
解决方案
核心代码
// Java代码示例
// 检查USB连接和PTP模式
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
UsbDevice device = usbManager.getDeviceList().get(0);
if (device != null) {
// 配置USB通信
UsbDeviceConnection connection = usbManager.openDevice(device);
if (connection != null) {
// 使用正确的USB设备ID
int deviceId = device.getDeviceId();
// 检查Java和C语言代码
// ...
}
}
// C语言代码示例
// 检查USB连接和PTP模式
int fd = open("/dev/usbdevice", O_RDWR);
if (fd >= 0) {
// 配置USB通信
struct usb_device *device = usb_find_device(fd);
if (device != NULL) {
// 使用正确的USB设备ID
int deviceId = device->idVendor;
// 检查Java和C语言代码
// ...
}
}
注意
上述代码仅为示例,具体实现可能需要根据实际情况进行调整。