1

尝试使用 CamcorderProfile.hasProfile(xyz) 时出现运行时 NoSuchMethodError。在我的应用程序清单中指定了正确的 API

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" />

这是我想使用的块

CamcorderProfile cf = CamcorderProfile.get(CamcorderProfile.QUALITY_LOW);
if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_480P)) {
   cf = CamcorderProfile.get(CamcorderProfile.QUALITY_480P);
} else if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_CIF)) {
    cf = CamcorderProfile.get(CamcorderProfile.QUALITY_CIF);
} else if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_QVGA)) {
   cf = CamcorderProfile.get(CamcorderProfile.QUALITY_QVGA);
}

编写/构建时,我在 Eclipse 中没有任何错误,即使代码完成也可以正常工作。 编辑此时我在一些设备(Galaxy、Incredible 和 Desire)上运行代码。

堆栈跟踪错误是

E/AndroidRuntime(12499): FATAL EXCEPTION: main
E/AndroidRuntime(12499): java.lang.NoSuchMethodError: Android.media.CamcorderProfile.hasProfile

任何提示为什么会发生这种情况?谢谢。

4

2 回答 2

1

I think Bruno was right, it seems like it was a problem of API level.

于 2012-11-21T15:25:06.183 回答
0

你在使用 AVD 吗?您将媒体和相机所需的支持放在 AVD 中吗?

尝试在真实设备中测试您的应用程序。

于 2012-06-21T14:10:35.603 回答