игра мегаполис на андроид читыфлеш картинки для телефона скачать бесплатноjavagala на телефонпесни на телефон красивые
Бесплатно скачать программы и игры для Андроид. Мы в:
Сейчас уже наверно во всех последних ноутбуках есть веб-камера. Ведь она так необходима, когда вы находитесь далеко от любимого человека, ваши родители живут в другом городе или, например, вам необходимо пройти собеседование в Skype.
Но что делать, если у вас старый ноутбук или стационарный ПК и не хочется тратить лишних денег на покупку веб-камеры? В очередной раз вас выручит ваше устройство на Андроид и две программы: DroidCamX Wireless Webcam и IP webcam.
Это приложение позволит использовать ваш аппарат в роли веб-камеры для Skype и других подобных программ. Программа может работать как через wi-fi, так и через Bluetooth и USB. Кроме того она позволяет использовать ваше устройство как микрофон.
От краткого описания программы перейдем к процессу ее установки.
Важно: на вашем устройстве должен быть включен режим отладки по USB.
Сначала скачиваете apk-файл и устанавливаете его.
Скачиваете клиент для вашего компьютера отсюда и устанавливаете.
Запускаете DroidCamX на андроид устройстве. В левом верхнем углу видите IP телефона и порт.
Заходите в DroidCamX на компъютере выбираете вид подключения wi-fi, Bluetooth, usb, вводите IP телефона, порт и нажимаете Connect.
Теперь заходите в Skypeинструментынастройкивидео и там, в качестве веб-камеры, выбираете DroidCam.
Эта программа обладает схожим функционалом, но обладает таким преимуществом как отсутствие клиента для ПК, а значит и более простой и быстрой установкой. Также есть и минус, работает она либо через wi-fi либо через мобильный интернет.
Как всегда сначала скачиваете apk-файл и устанавливаете его. Скачиваете драйвера. Потом запускаете само приложение.
Настраиваете видео, звук по своему усмотрению и нажимаете Запустить, тем самым начиная трансляцию видео.
Заходите в Skypeинструментынастройкивидео, в качестве веб-камеры выбираете IP Camera. Заходите в ее настройки. Выбираете Raw URL mode, в поле вводите http://192.168.1.213:8080/videofeed и отмечаете галочкой MJPEG mode. Сохраняете.
Поскольку у этих программ схожий функционал и мало отличий, посоветовать какую-то одну конкретную сложно. Поэтому выбирайте исходя из того, как вы планируете ее подключать wi-fi, usb, bluetooth и чей интерфейс будет более приятным для вас.
Рейтинг: 4.2 6 голосов Ваша оценка: Нет
Коментарии не работают без JavaScript!
Привет, Хабрапользователь. Кажется, ты используешь AdBlock. Хабрахабр
развивается и существует за счет доходов от рекламы. Добавь нас в исключения.
Работа с камерой на телефоне всегда представляла для меня интерес. Как же это все устроено И вот мне в руки попал телефон с Androidом. Я не преминул возможностью попробовать разобраться в этом. Вот что получилось в итоге.
Рассмотрим небольшую программу, которая позволяет делать снимки.
Все операции проводятся с помощью класса Camera.
в противном случае камера останется заблокированной и недоступной для других приложений.
Для обычных приложений типа фотокамеры инициализацию лучше всего производить в onResume, а освобождение в onPause.
Обязательным условием при работе с камерой является создание окна предпросмотра preview. Это окно должно являться объектом класса Surface и для отображения на экране подходит SurfaceView.
Чтобы задать preview, необходимо вызвать метод setPreviewDisplay, параметром которого является объект класса SurfaceHolder.
SurfaceHolder surfaceHolder; surfaceHolder ; surfaceHolder;
Чтобы включить отображение preview, вызываем
Если этого не сделать, то камера не сможет делать снимки.
Собственно для того, чтобы сделать снимок, необходимо вызвать метод
void shutter, raw, postview, jpg;
С помощью параметров кстати, любой из них может быть null задаются обработчики разных событий:
jpg программе передается изображение в виде jpg. Здесь можно организовать запись изображения на карту памяти.
Вызов takePicture можно поместить непосредственно в обработчик onClick кнопки в этом случае фотографирование произойдет сразу после нажатия на нее, но можно и воспользоваться предварительной автофокусировкой.
В этом случае задается обработчик, в котором необходимо реализовать метод
public void onAutoFocusboolean paramBoolean, Camera paramCamera;
Тогда после вызова в обработчике нажатия на кнопку, однократно будет вызван обработчик, в котором мы уже и примем решение об удачной фокусировке и необходимости сделать снимок.
public void surfaceCreatedSurfaceHolder holder; public void surfaceChangedSurfaceHolder holder, int format, int width, int height; public void surfaceDestroyedSurfaceHolder holder;
C помощью них приложению будет сообщаться о том, что Surface успешно создано, если оно изменено или то, что оно удалено.
LayoutParams lp ; задаваемая ширина; задаваемая высота; lp;
ORIENTATIONLANDSCAPE;
В противном случае нам придется, например, в surfaceCreated проверять расположение экрана и поворачивать preview с помощью, например,
Это не очень удобно, потому что поворот экрана занимает какое-то время. В этот момент происходит вызов onPause и onResume, пересоздается Surface.
Также имеется возможность объявить обработчик, с помощью которого путем реализации метода
void onPreviewFramebyte paramArrayOfByte, Camera paramCamera;
можно получать и обрабатывать каждый кадр, отображаемый в preview.
И последний важный момент. Чаще всего получается так, что отношение сторон SurfaceView отличается от отношения сторон в preview камеры. Поэтому для того, чтобы избежать искажений изображения на экране, необходимо подкорректировать размер отображаемого окна предпросмотра.
Чуть не забыл. В манифест необходимо добавить permission
package ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; public class MainScreen extends Activity implements, , , , private Camera camera; private SurfaceHolder surfaceHolder; private SurfaceView preview; private Button shotBtn; Override public void onCreateBundle savedInstanceState savedInstanceState;//если хотим, чтобы приложение постоянно имело портретную ориентацию ORIENTATIONLANDSCAPE;//если хотим, чтобы приложение было полноэкранным FULLSCREEN;//и без заголовка NOTITLE; ;//наше SurfaceView имеет имя SurfaceView01 preview SurfaceView 01; surfaceHolder ; this; TYPEPUSHBUFFERS;//кнопка имеет имя Button01 shotBtn Button 01; Shot; this; Override protected void onResume ; camera ; Override protected void onPause ; if camera! null null; ; ; camera null; Override public void surfaceChangedSurfaceHolder holder, int format, int width, int height Override public void surfaceCreatedSurfaceHolder holder try holder; this; catch IOException e ; Size previewSize ; float aspect float ; int previewSurfaceWidth ; int previewSurfaceHeight ; LayoutParams lp ;//здесь корректируем размер отображаемого preview, чтобы не было искажений if ! LANDSCAPE //портретный вид 90; previewSurfaceHeight; int previewSurfaceHeightaspect; ; else //ландшафтный 0; previewSurfaceWidth; int previewSurfaceWidthaspect; lp; ; Override public void surfaceDestroyedSurfaceHolder holder Override public void onClickView v if v shotBtn //либо делаем снимок непосредственно здесь//либо включаем обработчик автофокуса null, null, null, this; this; Override public void onPictureTakenbyte paramArrayOfByte, Camera paramCamera //сохраняем полученные jpg в папке/sdcard/CameraExample///имя файла - try File saveDir new File/sdcard/CameraExample/; if ; FileOutputStream os new, ; paramArrayOfByte; ; catch Exception e //после того, как снимок сделан, показ превью отключается. необходимо включить его ; Override public void onAutoFocusboolean paramBoolean, Camera paramCamera if paramBoolean //если удалось сфокусироваться, делаем снимок null, null, null, this; Override public void onPreviewFramebyte paramArrayOfByte, Camera paramCamera //здесь можно обрабатывать изображение, показываемое в preview
xml version1.0 encodingutf-8? FrameLayout android:idid/FrameLayout01 android:layoutwidthfillparent android:layoutheightfillparent /apk/res/android SurfaceView android:idid/SurfaceView01 android:layoutwidthwrapcontent android:layoutheightwrapcontent /SurfaceView Button android:textid/Button01 android:idid/Button01 android:layoutwidthwrapcontent android:layoutheightwrapcontent /Button /FrameLayout
xml version1.0 encodingutf-8? manifest /apk/res/android android:versionCode1 android:versionName1.0 application android:icondrawable/icon android:labelstring/appname android:debuggabletrue activity android:labelstring/appname intent-filter action category /intent-filter /activity /application uses-permission uses-permission EXTERNALSTORAGE/manifest
Программа отлаживалась и тестировалась на телефоне LG Optimus One P500.
Shawn Van Every. Pro Android Media: Developing Graphics, Music, Video and Rich Media Apps for Smartfones and Tablets. Apress 2009.
Директор завода по сжиганию фотографов радуется этом исходникам!
во, как раз искал подобный материал, все руки чешутся покрутить камеру на андроиде. Где можно найти что-то подобное под винмобайл или айфон?
искал подобный материал, все руки чешутся покрутить камеру на андроиде
Как-то вы очень лениво искали, в стандартных сэмплах есть практически тоже самое, впрочем, автор статьи в конце на один из них ссылку и приложил.
Скажите, а на сколько сложно обстоят дела с видеозаписью?
Меня очень неустраивает битрейт звука на HTC Desire.
Вот всё пытаюсь сесть и навоять простенькую камеру, но с хорошим звуком.
судя по всему, дело обстоит довольно просто.
предлагается использовать класс MediaRecorder, который имеет множество методов для задания параметров видео и аудио.
на коленке получилось по быстрому модифицировать эту программу и даже какое-то видео записалось.
на выходных попробую сделать полноценный пример.
А можно ли каким-то образом отлаживать в эмуляторе, эмулируя камеру телефона при помощи камеры компа?
No support for camera/video capture input.
вообще отладка непосредственно на телефоне оказалась довольно удобной и быстрой, поэтому сильно не переживал
Насколько я знаю, в эмуляторе есть какой-то имитатор работы видеокамеры. Сам не пользовался.
встроенный имитатор просто показывает вместо превью поле с квадратиками, а вместо снимка дает картинку с зеленым роботом. т.е. отлаживать на эмуляторе, в принципе, можно.
Сохранение картинки в файл лучше обрамить в AsyncTask, что бы не подвешивать основной поток программы.
Извиняюсь, в первый раз рука сорвалась
Вот исходник обрамленной версии, что бы не быть голословным:
Override public void onPictureTakenbyte paramArrayOfByte, Camera paramCamera new paramArrayOfByte; ; class SaveInBackground extends AsyncTask byte, String, String Override protected String arrayOfByte try File saveDir new File/sdcard/CameraExample/; if ; FileOutputStream os new, ; arrayOfByte0; ; catch Exception e /returnnull;
Кстати перезапуск активити при смене ориентации экрана не является обязательным. Можно поставить флаг на активити и будет вместо это вызываться один метод. Пишу на телефоне, посмотреть название флага сложно.
Умные люди, подскажите, пожалуйста, можно ли вытащить RAW raw перед сжатием в jpg? По ходу дела эта функция не поддерживается хотя в документации об этом ни слова, т.к. хип приложения лимитирован 16мб вроде и рав дата просто не влезает. Может в NDK нужно глянуть?
Есть огромное желание разобраться почему снимки такие размытые получаются. Сравниваю Мотоандроиды с Motorola Zn5
скажите, а если вызвать метод startPreview без предварительного setPreviewDisplay то есть без окна предпросмотра, то все отработает корректно, за исключением, что не будет окна предпросмотра? я спрашиваю к тому, что хочу сделать приложение фонарик. то есть через камеру иметь доступ к светодиоду. и не хотелось бы во время вкл/выкл фонарика наблюдать окно предпросмотра камеры
Вы разобрались с этим вопросом? Без создания предпросмотра камера отработает?
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Пометьте топик понятными вам метками, если хотите
Метки лучше разделять запятой. Например: общение, социальные сети, , подростки, мердок