2011-11-14 16 views
1

保護したいオーディオファイルの暗号化と復号化はすでに行っています。しかし、復号化の後、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(); 
    } 

} 
+0

ソリューションを見つけましたか? MediaPlayerはステートフルであり、エラーは暗号化に関連していると確信していますか? – Syntax

+0

これにはどんな解決策が見つかりましたか? –

答えて

0

はい、あなたが/正しくファイルを復号化暗号化しないようです。単純なテキストファイルで暗号化/復号化をテストして、ファイルがそのまま残っているかどうかを確認できます。

+0

私はいくつかのXMLファイルに対して同じコードの暗号化と解読を試みましたが、うまくいきました。 – user1045504

+0

それから、私は助けてくれるのではないかと心配しています。( – Caner

+0

私はちょうどこのことの保証を知りたかったのですが、暗号化/復号化がメディア品質やそのデータに実際に影響を及ぼしていますか? – user1045504

関連する問題