qvyuanxin
2017-07-04 65a094bd57829118503802220b7125053c643c41
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -17,7 +17,7 @@
#include <stdlib.h>
#include "DebugNetwork.h"
#include "serial.h"
//#include <mediastreamer2/include/mediastreamer2/msjava.h>
std::stringstream logss;
@@ -691,3 +691,93 @@
}
}
void Delay(unsigned int nDelay)
{
    unsigned int i,j,k;
    for ( i=0;i<nDelay;i++ )
        for ( j=0;j<6144;j++ )
            k++;
}
void callNum(int fd,char phone)
{
    switch ( phone)
    {
        case '1':
            serialWriteString(fd,"DA");//1
            break;
        case '2':
            serialWriteString(fd,"DB");//2
            break;
        case '3':
            serialWriteString(fd,"DC");//3
            break;
        case '4':
            serialWriteString(fd,"DD");//4
            break;
        case '5':
            serialWriteString(fd,"DE");//5
            break;
        case '6':
            serialWriteString(fd,"DF");//6
            break;
        case '7':
            serialWriteString(fd,"DG");//7
            break;
        case '8':
            serialWriteString(fd,"DH");//8
            break;
        case '9':
            serialWriteString(fd,"DI");//9
            break;
        case '0':
            serialWriteString(fd,"DJ");//0
            break;
    }
}
void call(const char * phone)
{
    int  fd = serialOpen("/dev/ttyS1",2400);
    serialWriteString(fd,"AA");
    Delay(10000);
   while (*phone)
   {
       Delay(10000);
       callNum(fd,*(phone++));
   }
}
char* jstringTostring(JNIEnv* env, jstring jstr)
{
char* rtn = NULL;
jclass clsstring = env->FindClass("java/lang/String");
jstring strencode = env->NewStringUTF("utf-8");
jmethodID mid = env->GetMethodID(clsstring, "getBytes", "(Ljava/lang/String;)[B");
jbyteArray barr= (jbyteArray)env->CallObjectMethod(jstr, mid, strencode);
jsize alen = env->GetArrayLength(barr);
jbyte* ba = env->GetByteArrayElements(barr, JNI_FALSE);
if (alen > 0)
{
rtn = (char*)malloc(alen + 1);
memcpy(rtn, ba, alen);
rtn[alen] = 0;
}
env->ReleaseByteArrayElements(barr, ba, 0);
return rtn;
}
void Java_cn_com_basic_face_util_RtspFaceNative_telCall(JNIEnv* env, jclass clazz,jstring phone)
 {
     call(jstringTostring(phone));
 }
 void Java_cn_com_basic_face_util_RtspFaceNative_Hang(JNIEnv* env, jclass clazz)
 {
       int  fd = serialOpen("/dev/ttyS1",2400);
           serialWriteString(fd,"BA");
 }