0
JMFを使用してUSB接続されたウェブカメラ(Logitech Quickcam Pro 9000)に接続しています。このカメラは最大2MPのビデオを配信することができますが、ビデオフォーマットを320x240以上に設定する際に問題があります。Java(JMF)でウェブカメラの解像度を設定する
MJPG, 320x240, Length=230400 0 extra bytes
YUV Video Format: Size = java.awt.Dimension[width=160,height=120] MaxDataLength = 38400 DataType = class [B yuvType = 32 StrideY = 320 StrideUV = 320 OffsetY = 0 OffsetU = 1 OffsetV = 3
YUV Video Format: Size = java.awt.Dimension[width=176,height=144] MaxDataLength = 50688 DataType = class [B yuvType = 32 StrideY = 352 StrideUV = 352 OffsetY = 0 OffsetU = 1 OffsetV = 3
YUV Video Format: Size = java.awt.Dimension[width=320,height=240] MaxDataLength = 153600 DataType = class [B yuvType = 32 StrideY = 640 StrideUV = 640 OffsetY = 0 OffsetU = 1 OffsetV = 3
YUV Video Format: Size = java.awt.Dimension[width=352,height=288] MaxDataLength = 202752 DataType = class [B yuvType = 32 StrideY = 704 StrideUV = 704 OffsetY = 0 OffsetU = 1 OffsetV = 3
YUV Video Format: Size = java.awt.Dimension[width=640,height=480] MaxDataLength = 614400 DataType = class [B yuvType = 32 StrideY = 1280 StrideUV = 1280 OffsetY = 0 OffsetU = 1 OffsetV = 3
MJPG, 160x120, Length=57600 0 extra bytes
MJPG, 176x144, Length=76032 0 extra bytes
MJPG, 352x288, Length=304128 0 extra bytes
MJPG, 640x480, Length=921600 0 extra bytes
これは私が少なくとも640×480のキャプチャを取得することができるはずですが、私もそれが仕事を得ることができないことを私に伝えます:利用可能なフォーマットの印刷は、私にこの結果を与えます。どのような解像度を使いたいのですか?それが今であるよう
これは私のコードからの抜粋です:あなたがしたい書式文字列をチェックし
captureDeviceInfo = CaptureDeviceManager.getDevice(DEVICE_NAME);
Format[] formats = captureDeviceInfo.getFormats();
Format selectedFormat = null;
for(Format f : formats) {
if(f.toString().contains("width=640,height=480")) {
selectedFormat = f;
break;
}
}
try {
mediaLocator = captureDeviceInfo.getLocator();
DataSource videoDataSource = Manager.createDataSource(mediaLocator);
player = Manager.createRealizedPlayer(videoDataSource);
FormatControl fc = (FormatControl)player.getControl("javax.media.control.FormatControl");
fc.setFormat(selectedFormat);
player.start();