相关疑难解决方法(0)

如何从Byte阵列播放视频?

我正在开发一个需要加密视频文件的应用程序,它运行得很好.但是我用来解密的方法返回像Byte数组一样的视频.所以无论如何我可以使用该阵列播放视频而无需创建新文件.

我的方法解密:

  private static byte[] decrypt(byte[] raw, byte[] encrypted) throws EncrypterException {
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
try {
    final Cipher cipher = Cipher.getInstance("AES");
    cipher.init(Cipher.DECRYPT_MODE, skeySpec);

    return cipher.doFinal(encrypted);

} catch (Exception e) {
    throw new EncrypterException(e);
}
}
Run Code Online (Sandbox Code Playgroud)

请帮帮我,我被困在这里?

java encryption android bytearray

8
推荐指数
2
解决办法
8747
查看次数

如何使用jCIFS使用默认查看器在Android中打开文件

我正在使用免费的jCIFS库通过CIFS连接到我的NAS设备,它运行良好.我可以连接并获取文件名列表等,没有任何问题.

现在我想打开默认Android应用程序中的一个文件 - 即音乐文件应该在音乐播放器中打开,图库中的图像,视频播放器中的视频文件等等.问题不在于获取MIME类型等等.问题是我不想先下载文件,应该流式传输.

有谁知道如何实现这一目标?我知道CifsManager(另一个第三方应用程序)能够做类似的事情,但它不使用jCIFS,它需要root权限才能挂载驱动器.我的应用程序不需要root访问权限.

你可以在这里找到jCIFS库:http: //jcifs.samba.org/

android jcifs cifs

7
推荐指数
1
解决办法
2657
查看次数

无需先打开文件即可在 Android 上生成 FileDescriptor

在Android中,是否可以直接从字节数组生成FileDescriptor,而不必先打开文件?

在 Android 2.2 中,我即时生成一个 MIDI 文件,然后使用 MediaPlayer 播放它。我在下面包含了成功执行此操作的 Main.java 文件的文本。到现在为止还挺好。

然而,这个过程首先调用...

FileOutputStream outputStream = openFileOutput(file, MODE_PRIVATE);
outputStream.write(byteStream);
outputStream.close();
Run Code Online (Sandbox Code Playgroud)

...写出文件,然后调用...

FileInputStream inputStream = new FileInputStream(midifile);
FileDescriptor fileDescriptor = inputStream.getFD();
Run Code Online (Sandbox Code Playgroud)

...在调用之前重新阅读它:

mediaPlayer.setDataSource(fileDescriptor);
Run Code Online (Sandbox Code Playgroud)

在我看来,这很浪费。我可以直接从 byteArray 创建 FileDescriptor,以便立即播放 MIDI 流吗?


== 工作代码 ==

package com.example.midi;

import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;

public class Main extends Activity {

  private String file = "midi.mid";
  private MediaPlayer mediaPlayer;

  @Override
  protected void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

io midi android android-mediaplayer

6
推荐指数
1
解决办法
9981
查看次数

为mediaPlayer setDataSource修改FileInputStream

我正在尝试修改(扩展)FileInputStream类,以便我可以打开加密文件并将该流用于MediaPlayer setDataSource(FileDescriptor).问题是我不知道应该覆盖哪个方法来在流内进行解密.我尝试覆盖所有read()方法,但mediaPlayer似乎没有使用它们.

有什么建议?

android fileinputstream media-player

3
推荐指数
1
解决办法
3852
查看次数