카테고리 보관물: Programming

Windows에서 PyGObject, GStreamer 연동하기

Windows환경에서 GStreamer를 연동하기 위해서는 우선 PyGObject가 필요합니다.
문제는 윈도우에서 PyGObject를 설치 할 수 없다는 점인데요.

pygobject_mingw.png
https://pygobject.readthedocs.io/en/latest/getting_started.html#
PyGObject 홈페이지에 보면 mingw를 사용하라고 되어 있습니다.

제가 원하는 것은 네이티브 환경에서 구동하는 것이기 때문에 다른 방법을 찾아보았습니다.
그래서 “PyGObject for Windows” 라는 프로젝트를 찾을 수 있었습니다.

https://sourceforge.net/projects/pygobjectwin32/

다만 문제가 있다면 파이썬 3.4까지만 지원을 한다는 부분입니다.
“Support Python 2.7, 3.1, 3.2, 3.3 and 3.4 (32-bit and 64-bit)”
그리고 GStreamer 버전도 낮은 부분이 있기 때문에,
혹시 최신 버전이 필요하다면 라이브러리 파일 교체 등이 가능한지는 알아보셔야 할 것 같습니다.

기존에 저는 PyQt5를 사용하고 있었기 때문에 파이썬3.6 버전을 사용하고 있었습니다.
그래서 우선 파이썬3.4 를 다운로드 받아서 설치하였습니다.
설치할 때 제일 밑에 있는 환경설정에 등록하는 옵션이 기본 OFF이기 때문에,
이 부분 확인하시고 설치하시는게 좋을 것 같습니다.

그리고 Python 3.4에서도 동작하는 PyQt 5.4.1 버전을 설치해서 사용할 수 있었습니다.
pyqt5_4_1_download.png
https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.4.1/

GStreamer를 사용하려면 PyGObject for Windows를 설치할 때 아래와 같이 체크하면 됩니다.
GStreamer.png

정리해보자면,
1. Python 3.4 버전을 설치
2. ‘PyGObject for Windows’ 를 받아서 설치, GStreamer를 사용하려면 옵션 체크
3. PyQt5 를 사용한다면 PyQt5.4.1 버전을 설치

Programming

[2011][안드로이드] 주소록에 사진 등록하기 코드 예제

안드로이드 주소록에 사진을 등록하고자 하는 경우 여러 가지 문제가 발생할 수 있습니다. 이러한 경우 구글 주소록 소스에 있는 아래 소스 파일을 참고하여 작업하면 삽질을 줄일 수 있을 것입니다.

1221174073.java

 대표적으로 insertPhoto() 함수나 updatePhoto() 함수 등을 이용하면 사진을 등록하는지 알 수 있을 것입니다. 그 외에 부분도 구글 주소록에서 참고할 수 있는 부분들이 좀 있기 때문에 주소록 작업을 하시는 분들이라면 구글 주소록 소스를 참고해 보시길 바랍니다.

만약 insertPhoto() 함수와 같은 것을 이용했는데도 사진이 제대로 등록이 안되거나, 주소록에 들어갔을 때 다운이 되는 경우가 발생할 수 있습니다. 이럴 때는 Photo.PHOTO 에 정상적으로 Bitmap 으로 바꿀 수 있는 데이터가 들어가는지 확인해야 합니다. BitmapFactory.decodeByteArray() 함수와 같은 것을 이용해서 decode 하였을 때 Bitmap 데이터가 정상적으로 나오는지 확인하면 됩니다.

timeGetTime 사용 방법 예제 (2006년)

Visual Studio 2003 한글판 기준으로 작성된 예제 입니다.

예제 내용은 Console로 작성하였으며, 간단히 시간을 카운트하는 기능을 합니다.

timeGetTime 함수를 이해하는데 도움이 될 것이라 생각됩니다.

timeGetTime 함수는 실무에서도 저는 꽤 많이 사용합니다.

다만 여러 플렛폼에서 지원을 하는지 안하는지 알 수가 없고,

window 버전에 따라 차이가 있기 때문에, 그에 대한 예외처리가 필요합니다.

만약 타이머 처리가 굉장히 예민한 부분이라면 이 함수를 사용하는데 굉장한 신경을 써야 하며

개인적으로는 다른 것을 사용하는게 좋지 않을까 싶습니다.

저 같은 경우 이번에 기간제 캐시 아이템이 들어가면서, 클라이언트에서 각 캐시 아이템의

남은 유효기간을 표시하기 할 때 이 함수를 살짝 사용해 주었습니다 : )

파일 다운로드 : 1107203788.zip