Комментарии 19
>Скачать проект можно по ссылке
404…
404…
перезалил на zalil.ru/30377379
Директор завода по сжиганию фотографов радуется этом исходникам!
во, как раз искал подобный материал, все руки чешутся покрутить камеру на андроиде. Где можно найти что-то подобное под винмобайл или айфон?
> искал подобный материал, все руки чешутся покрутить камеру на андроиде
Как-то вы очень лениво искали, в стандартных сэмплах есть практически тоже самое, впрочем, автор статьи в конце на один из них ссылку и приложил.
Ежели чего, там ещё много всякого на разные другие темы есть: developer.android.com/resources/samples/
Как-то вы очень лениво искали, в стандартных сэмплах есть практически тоже самое, впрочем, автор статьи в конце на один из них ссылку и приложил.
Ежели чего, там ещё много всякого на разные другие темы есть: developer.android.com/resources/samples/
Скажите, а на сколько сложно обстоят дела с видеозаписью?
Меня очень неустраивает битрейт звука на HTC Desire.
Вот всё пытаюсь сесть и навоять простенькую камеру, но с хорошим звуком.
Меня очень неустраивает битрейт звука на HTC Desire.
Вот всё пытаюсь сесть и навоять простенькую камеру, но с хорошим звуком.
судя по всему, дело обстоит довольно просто.
предлагается использовать класс MediaRecorder, который имеет множество методов для задания параметров видео и аудио.
setAudioSource()
setVideoSource()
setOutputFormat()
setVideoEncoder()
setAudioEncoder()
setVideoEncodingBitRate()
setAudioEncodingBitRate()
setAudioSamplingRate()
setAudioChannels()
setVideoFrameRate()
setVideoSize()
на коленке получилось по быстрому модифицировать эту программу и даже какое-то видео записалось.
на выходных попробую сделать полноценный пример.
предлагается использовать класс MediaRecorder, который имеет множество методов для задания параметров видео и аудио.
setAudioSource()
setVideoSource()
setOutputFormat()
setVideoEncoder()
setAudioEncoder()
setVideoEncodingBitRate()
setAudioEncodingBitRate()
setAudioSamplingRate()
setAudioChannels()
setVideoFrameRate()
setVideoSize()
на коленке получилось по быстрому модифицировать эту программу и даже какое-то видео записалось.
на выходных попробую сделать полноценный пример.
А можно ли каким-то образом отлаживать в эмуляторе, «эмулируя» камеру телефона при помощи камеры компа?
на developer.android.com/guide/developing/tools/emulator.html сказано:
No support for camera/video capture (input).
вообще отладка непосредственно на телефоне оказалась довольно удобной и быстрой, поэтому сильно не переживал )
No support for camera/video capture (input).
вообще отладка непосредственно на телефоне оказалась довольно удобной и быстрой, поэтому сильно не переживал )
Насколько я знаю, в эмуляторе есть какой-то имитатор работы видеокамеры. Сам не пользовался.
Сохранение картинки в файл лучше обрамить в AsyncTask, что бы не подвешивать основной поток программы.
как-то вот так:
<source>
Извиняюсь, в первый раз рука сорвалась… )
Вот исходник «обрамленной» версии, что бы не быть голословным:
Вот исходник «обрамленной» версии, что бы не быть голословным:
@Override
public void onPictureTaken(byte[] paramArrayOfByte, Camera paramCamera)
{
new SaveInBackground().execute(paramArrayOfByte);
camera.startPreview();
}
class SaveInBackground extends AsyncTask<byte[], String, String> {
@Override
protected String doInBackground(byte[]... arrayOfByte) {
try {
File saveDir = new File("/sdcard/CameraExample/");
if (!saveDir.exists())
{
saveDir.mkdirs();
}
FileOutputStream os =
new FileOutputStream(String.format("/sdcard/CameraExample/%d.jpg", System.currentTimeMillis()));
os.write(arrayOfByte[0]);
os.close();
} catch (Exception e) {
//
}
return(null);
}
}
Кстати перезапуск активити при смене ориентации экрана не является обязательным. Можно поставить флаг на активити и будет вместо это вызываться один метод. Пишу на телефоне, посмотреть название флага сложно.
Умные люди, подскажите, пожалуйста, можно ли вытащить RAW (Camera.PictureCallback raw) перед сжатием в jpg? По ходу дела эта функция не поддерживается (хотя в документации об этом ни слова), т.к. хип приложения лимитирован (16мб вроде) и рав дата просто не влезает. Может в NDK нужно глянуть?
Есть огромное желание разобраться — почему снимки такие размытые получаются. Сравниваю Мотоандроиды с Motorola Zn5
Есть огромное желание разобраться — почему снимки такие размытые получаются. Сравниваю Мотоандроиды с Motorola Zn5
скажите, а если вызвать метод startPreview() без предварительного setPreviewDisplay() (то есть без окна предпросмотра), то все отработает корректно, за исключением, что не будет окна предпросмотра? я спрашиваю к тому, что хочу сделать приложение «фонарик». то есть через камеру иметь доступ к светодиоду. и не хотелось бы во время вкл/выкл фонарика наблюдать окно предпросмотра камеры
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Работа с камерой в Android