본문 바로가기

About Programing

[DirectShow기초] Indroduction - Filter, Filter Graphs DirectShow의 기본 빌딩 블럭은 filter라 불리는 콤포넌트이다. 필터는 멀티미디어 스트림을 어떤 연산을 해서, 내용을 변화시킨 후 출력해 주는 콤포넌트라 할 수 있다. 예를 들면 파일을 읽는 필터는 HDD에서 파일을 읽어서, 해당 파일을 스트림으로 만들어서 출력으로 내놓게 된다. 디코더나 출력장치로 출력하는 콤포넌트도 DirectShow에서는 필터라 부른다. DiretShow에서는 이런 필터를 연결해서 필요한 작업을 진행한다. 예를 들어 파일필터의 출력을 디코더 필터의 입력에 연결하고, 디코더필터의 출력을 렌더러에 연결하고 하는 식이다. 당연한 이야기지만, 한 필터의 출력이 두개 이상의 필터에 입력으로 연결될 수도 있고, (아마도) 둘 이상의 필터의 .. 더보기
Visual Studio 2008 에서 DirectShow 개발환경 구축하기 출처 : http://hyukmini.tistory.com/15 시중에 나온 DirectShow 서적을 보면 예제가 모두 Visual C++ 6.0 기반으로 작성되어 있고 개발환경을 구축하는 방법 역시 VC++ 6.0 기준으로 되어있다. 따라서 이 글은 초보자가 최신 환경에서 DirectShow Filter를 개발할 수 있도록 개발환경을 구축하는 정보를 제공하기 위해 작성되었다. DirectShow를 기반으로 한 애플리케이션을 개발하기 위해서는 일반적으로 아래와 같은 파일들이 필요하다. 하지만 아래 파일들이 버전이 바뀌어 감에 따라 이리저리 옮겨가고 심지어는 직접 빌드해서 사용해야 하기 때문에 사용자들에게 혼란을 주고 초보자가 개발환경을 구축하는데 어려운 점이 발생해 흔히 말하는 '삽질'을 하게 된다. .. 더보기
Android에서 수동으로 MediaScan 하기 sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 더보기
Android에서 기기 계정 정보 가져오기 AndroidManifest.xml 에서 Permission 설정 Source Account[] accounts = AccountManager.get(this).getAccounts(); 더보기
Android 내장 메모리의 사진 정보 가져오기 AndroidManifest.xml 에서 Permission 설정 Main.java package com.eg.giver; import java.util.ArrayList; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.MediaStore.Images; public class Main extends Activity { ArrayList mTitleArray; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(.. 더보기
Android 내장 Calendar에서 일정 읽어 오기 Google Calendar와 동기화 하는 방법을 찾다가 Java에서는 쉽게 구현 가능하지만, Android와 Google Calendar API가 궁합이 맞지 않다는 것을 알고 우회하기로 하였다. 어차피 내장 Calendar는 Google Calendar와 자동으로 동기화가 되니, 내장 Calendar에서 값을 읽어 오기로 하였다. // Main.java package com.calendar; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import an.. 더보기
Android EditText의 InputType 설정값 main.xml 속성에서 android:inputType= 으로 설정 가능. 양수 : number / 숫자 : numberSigned / 소수점 : numberDecimal "|" 연산자를 통해 두가지 속성을 같이 적용할 수 있음. (number|numberDecimal) 속성값 android:inputType Since: API Level The type of data being placed in a text field, used to help an input method decide how to let the user enter text. The constants here correspond to those defined byInputType. Generally you can select a sing.. 더보기
Android Service에서 Activity 실행하기 Context context = getApplicationContext(); Intent intent = new Intent(context, Action.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); 더보기
Android에서 URI로 실제 파일 경로 가져오기 /** * URI로 부터 실제 파일 경로를 가져온다. * @param uriPath URI : URI 경로 * @return String : 실제 파일 경로 */ public String getRealImagePath (Uri uriPath) { String []proj = {MediaStore.Images.Media.DATA}; Cursor cursor = managedQuery (uriPath, proj, null, null, null); int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String path = cursor.getString(index); path = path.sub.. 더보기
Activity Class나 View Class를 상속 받지 않는 Class의 startActivity() 함수 호출 애니메이션이 들어가는 Menu 화면을 그린다고 Surface Class 를 상속받아서 생성한 클래스 안에서 startActivity 함수를 부르니 에러가 나왔다. " the method startActivity(Intent) is undefined for the type " 이럴때는 getContext().startActivity(intent); 로 써보자. 그러면 startActivity 함수를 사용할 수 있다. 더보기