안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요~
JNI를 통해서 C로 벨소리를 울리게 하고 싶은데,
JAVA로 만들땐, MediaPlayer 클래스를 사용해서 울리게 했었거든요....
JNI 통해서 울리게 하려면 어떻게 해야하는지 잘 모르겠네요....
그냥 MediaPlayer 클래스를 사용해서 울리려고 했더니,
jclass MediaPlayerClass = 0;
jmethodID setDataSourceMID = 0;
MediaPlayerClass = (jclass)env->NewGlobalRef(env->FindClass("android/media/MediaPlayer"));
setDataSourceMID = (jmethodID)env->GetMethodID(MediaPlayerClass, "setDataSource", "(Ljava/lang/String;)V");
char data[44];
sprintf(data, "/system/media/audio/ringtones/Red_Beats.ogg");
jstring jsData = env->NewStringUTF((const char*)data);
env->CallVoidMethod(MediaPlayerClass, setDataSourceMID, jsData);
env->ReleaseStringChars(jsData, (const jchar*)data);
이렇게 해보니 CallVoidMethod에서 죽어버리네요...
뭔가 사용을 잘못하거나 접근을 잘못한것 같은데...
고민입니다 ㅠㅠ