小编Ale*_*one的帖子

捕获多张照片时出现的问题:应用程序停止响应,相机预览变为绿色并且没有保存图片

我已经使用Android中的相机成功拍摄了单张照片.但是当我试图一次拍摄5张照片时,应用停止响应,相机预览变为绿色并且没有保存图片.我在堆栈跟踪中看到的内容如下(部分)

03-17 14:19:54.804:INFO/QualcommCameraHardware(19268):deinitPreview E 03-17 14:19:54.804:INFO/QualcommCameraHardware(19268):deinitPreview X 03-17 14:19:54.804:DEBUG/QualcommCameraHardware(19268) ):frame_thread X 03-17 14:19:54.834:DEBUG/QualcommCameraHardware(19268):snapshot_thread E 03-17 14:19:54.854:DEBUG/CameraService(19268):takePicture(pid 20509)03-17 14:19: 54.884:WARN/AudioFlinger(19268):写入阻塞85毫秒03-17 14:19:55.154:DEBUG/CameraService(19268):postShutter 03-17 14:19:55.284:DEBUG/CameraService(19268):postRaw 03- 17 14:19:55.314:DEBUG/QualcommCameraHardware(19268):snapshot_thread X 03-17 14:19:55.344:DEBUG/QualcommCameraHardware(19268):snapshot_thread E 03-17 14:19:55.364:DEBUG/CameraService(19268): takePicture(pid 20509)03-17 14:19:55.984:DEBUG/CameraService(19268):postShutter 03-17 14:19:56.064:DEBUG/CameraService(19268):postRaw 03-17 14:19:56.074:ERROR/QualcommCameraHardware(19268):native_jpeg_encode:jpeg_encoder_encode失败.03-17 14:19:56.074:ERROR/QualcommCameraHardware(19268):jpeg编码失败03-17 14:19:56.084:DEBUG/QualcommCameraHardware(19268):snapshot_thread X 03-17 14:19:56.154:INFO/DEBUG( 19267):**** ************ 03-17 14:19:56.164:INFO/DEBUG(19267):构建指纹:'google_ion/google_ion /蓝宝石/蓝宝石:1.6/DRC83/14721:user/adp,test-keys'03-17 14: 19:56.164:INFO/DEBUG(19267):pid:19268,tid:20813 >>>/system/bin/mediaserver ...... ...... 14:19:59.894:INFO/ServiceManager(46):service 'media.camera'死于03-17 14:19:59.894:WARN/Camera(20509):相机服务器死了!03-17 14:19:59.894:WARN/Camera(20509):ICamera于03-17 14:19:59.894:ERROR/Camera(20509):错误100 03-17 14:19:59.915:WARN/AudioSystem(71 ):AudioFlinger服务器死了!03-17 14:20:00.014:INFO/Process(71):发送信号.PID:18636 SIG:3 03-17 14:20:00.054:INFO/dalvikvm(18636):threadid …

camera android

4
推荐指数
1
解决办法
1万
查看次数

Android:如何使用相同的相机意图拍摄多张照片

我制作了一个 Android 应用程序,它可以一张一张地拍摄照片、存储它们、向用户提供预览等……所有这些任务都是通过 type 的意图完成的ACTION_IMAGE_CAPTURE
所以,每次用户想要拍照时,他都应该点击启动意图的“拍照按钮”,等待几秒钟后启动相机,用户就可以拍照了;在照片被拍摄并被用户接受之后,相机关闭并且拍摄的照片通过一个onActivityResult方法返回给调用类(作为预览的位图)。
现在,如果你想做多张照片,这个过程可能真的很乏味。

所以,我想为我的应用程序提供一种模式,允许用户拍摄多张照片,而没有上述所有缓慢的东西。
只是为了澄清,我不想制作连拍模式(在预定义的时间间隔后自动拍摄的照片),但我想让用户能够点击快门拍摄尽可能多的时间而不会被其他人打扰事物。

在网上搜索,我找到了一些信息,在我看来,有三种可能的追求方式:
-意图“INTENT_ACTION_STILL_IMAGE_CAMERA”:这个很容易实现,但相机界面将在很大程度上取决于应用程序在做出意图时调用(例如在我的一加三上,调用完成此任务的应用程序是“Camera FV-5 Lite”,在模拟设备上是另一个)......因此,我认为无法控制被调用应用程序的界面或行为(例如,在通过意图调用的应用程序上可以切换到视频模式,但这在我正在设计的应用程序中应该是不可能的) ;
-使用包“Camera2”https://developer.android.com/reference/android/hardware/camera2/package-summary.html):谷歌在这里提供了这个包的一些例子https://github.com/search?utf8=%E2%9C% 93&q=android-Camera2&type=但我不完全明白走这条路有多困难;
-自己制作拍照代码:我认为这是最困难的方法。

初学者 - 中级开发人员是否可以按照上述方法之一(或其他方法)完成此任务?

类似问题:
-从 Android 设备拍摄多张照片:这里询问如何加快进程并减少一张照片和另一张照片之间的延迟;
-使用自动生成的 ImageView 制作画廊:这个问题是关于使用通过 ACTION_IMAGE_CAPTURE 不同意图制作的照片动态更新画廊;
-如何在取消相机意图之前拍摄多张照片?:this one讨论了解决方案,意图INTENT_ACTION_STILL_IMAGE_CAMERA与a结合ContentObserver,如上所述,我不想追求;
-拍摄多张照片时出现的问题:应用停止响应,相机预览变为绿色且未保存图片:讨论拍摄多张照片时出现的问题的旧帖子,但一个答案很有趣,因为提到了 Camera2。

java camera android photo android-intent

2
推荐指数
1
解决办法
4909
查看次数

在运行时删除工具栏项

我的应用程序中有一个工具栏,我想在应用程序执行期间(换句话说,在运行时)动态修改其内容

例如,该应用程序可以拍摄和预览照片;一旦预览了这些照片,用户便可以选择一些照片并向服务器执行发送操作。我还希望使用户能够在选择了其中一些照片后将其删除,并且为此,我希望操作栏上的“删除”项(可通过垃圾桶图标识别)仅在一个或多个以上时可见选择了照片。

这可能吗?如果是,怎么办?

工具列

换句话说,更笼统地说,我想控制工具栏中的项目(可见性),将代码设置为仅当某些条件为“真”时(在上述示例中,当选择照片时,在另一个示例中,当用户登录时)和“ false”(用户未登录时)不可见。

现在,我只需要在工具栏中“删除”(或使它们不可见),但是知道是否可以在运行时在工具栏中添加项目也很有用。

我添加了一些有助于理解问题的代码。

“ / res / layout”中的app_bar.xml文件,以图形方式定义工具栏

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:elevation="4dp"
    android:theme="@style/ToolbarTheme" />
Run Code Online (Sandbox Code Playgroud)

menu_resources.xml文件,用于定义工具栏项

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<!-- "User favourite function", should appear as action button if possible -->
<item
    android:id="@+id/action_app_icon"
    android:icon="@mipmap/ic_launcher"
    android:title="@string/action_bar_app_icon"
    app:showAsAction="always" />

<!-- Settings, should always be in the overflow -->
<item
    android:id="@+id/action_delete"
    android:icon="@drawable/trash"
    android:title="@string/action_bar_delete"
    app:showAsAction="always"/>

<!-- Settings, should always be in the overflow -->
<item
    android:id="@+id/action_settings"
    android:icon="@drawable/settings" …
Run Code Online (Sandbox Code Playgroud)

android runtime dynamic toolbar menuitem

0
推荐指数
1
解决办法
1444
查看次数

标签 统计

android ×3

camera ×2

android-intent ×1

dynamic ×1

java ×1

menuitem ×1

photo ×1

runtime ×1

toolbar ×1