Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们可以在android中对音频文件进行加密/解密吗_Java_Android - Fatal编程技术网

Java 我们可以在android中对音频文件进行加密/解密吗

Java 我们可以在android中对音频文件进行加密/解密吗,java,android,Java,Android,我已经做了加密和解密的音频文件,我想保护。但解密后会显示MediaPlayer的一些警告日志,MediaPlayer也无法工作 所以我只是想知道加密/解密过程是否损坏了我的音频文件 这里提到了日志: 11-14 13:41:42.136: W/System.err(17602): java.io.IOException: Prepare failed.: status=0xFFFFFFFC 11-14 13:41:42.136: W/System.err(17602): at androi

我已经做了加密和解密的音频文件,我想保护。但解密后会显示MediaPlayer的一些警告日志,MediaPlayer也无法工作

所以我只是想知道加密/解密过程是否损坏了我的音频文件

这里提到了日志:

11-14 13:41:42.136: W/System.err(17602): java.io.IOException: Prepare failed.: status=0xFFFFFFFC
11-14 13:41:42.136: W/System.err(17602):    at android.media.MediaPlayer.prepare(Native Method)
11-14 13:41:42.136: W/System.err(17602):    at com.zenagestudios.itaaleemlehra.LessonPlayActivity.startPlayer(LessonPlayActivity.java:293)
11-14 13:41:42.136: W/System.err(17602):    at com.zenagestudios.itaaleemlehra.LessonPlayActivity.onClick(LessonPlayActivity.java:446)
11-14 13:41:42.136: W/System.err(17602):    at android.view.View.performClick(View.java:2461)
11-14 13:41:42.136: W/System.err(17602):    at android.view.View$PerformClick.run(View.java:8890)
11-14 13:41:42.136: W/System.err(17602):    at android.os.Handler.handleCallback(Handler.java:587)
11-14 13:41:42.136: W/System.err(17602):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-14 13:41:42.136: W/System.err(17602):    at android.os.Looper.loop(Looper.java:123)
11-14 13:41:42.136: W/System.err(17602):    at android.app.ActivityThread.main(ActivityThread.java:4632)
11-14 13:41:42.136: W/System.err(17602):    at java.lang.reflect.Method.invokeNative(Native Method)
11-14 13:41:42.136: W/System.err(17602):    at java.lang.reflect.Method.invoke(Method.java:521)
11-14 13:41:42.136: W/System.err(17602):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-14 13:41:42.136: W/System.err(17602):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-14 13:41:42.136: W/System.err(17602):    at dalvik.system.NativeStart.main(Native Method)
我为一个示例XML文件尝试了相同的加密/解密代码,对于XML文件来说效果很好

以下是我用于加密/解密的代码:

 public void encrypt(InputStream in, OutputStream out){
    try {
        // Bytes written to out will be encrypted
        out = new CipherOutputStream(out, ecipher);

        // Read in the cleartext bytes and write to out to encrypt
        int numRead = 0;
        while ((numRead = in.read(buf)) >= 0){
            out.write(buf, 0, numRead);
        }
        System.out.println("Database Encrypted");
        out.close();
    }
    catch (java.io.IOException e){
        e.printStackTrace();
    }
}


 public void decrypt(InputStream in, OutputStream out){

    try {
        //staticdata. dialog = ProgressDialog.show(mContext, "","Loading. Please wait...", false);
        // Bytes read from in will be decrypted
        in = new CipherInputStream(in, dcipher);

        // Read in the decrypted bytes and write the cleartext to out
        int numRead = 0;
        while ((numRead = in.read(buf)) >= 0) {

            out.write(buf, 0, numRead);
        }
        System.out.println("Database Decrypted");

        out.close();
    } 
    catch (java.io.IOException e) {
         e.printStackTrace();
    }

}

是的,您似乎没有正确加密/解密文件。您可以在一个简单的文本文件上测试您的加密/解密,以查看文件是否完好无损。

我对一些xml文件尝试了相同的加密和解密代码,但效果良好。然后,恐怕我无能为力:(我只是想知道这方面的保证人,加密/解密真的会影响媒体质量或其数据吗?加密和解密不应该改变任何东西,即使是一个字节。你找到解决方案了吗?MediaPlayer是有状态的,错误似乎表明存在状态问题。你确定这与加密有关吗?你找到了吗有什么解决办法吗?