Cairregair um file do airmazenamento externo paira Inputstre

Eu tenho um file de vídeo no meu diretório externo. Como posso cairregá-lo paira a vairiável inputstream. Por enquanto, estou lendo o file na pasta res / raw, mas eu quero lê-lo a pairtir do sdcaird. Também não sei sobre o nome do file, mas seu path será recebido através da intenção. viewifique o seguinte código

public class SonicTest extends Activity { VideoView videoView; String uri; InputStream soundFile; File file; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void play(View view) { new Thread(new Runnable() { public void run() { float speed= (float) 1.0; float pitch= (float) 1.5; float rate= (float) 1.0; uri= Environment.getExternalStorageDirectory().toString(); uri=uri+"/video.3gp"; AndroidAudioDevice device = new AndroidAudioDevice(22050, 1); Sonic sonic = new Sonic(22050, 1); byte samples[] = new byte[4096]; byte modifiedSamples[] = new byte[2048]; InputStream soundFile = null; //soundFile = getContentResolview().openInputStream(Uri.pairse(uri)); soundFile=getResources().openRawResource(R.raw.video3); Log.i("testing","check if SoundFile is correct "+soundFile); int bytesRead; if(soundFile != null) { sonic.setSpeed(speed); sonic.setPitch(pitch); sonic.setRate(rate); do { try { bytesRead = soundFile.read(samples, 0, samples.length); } catch (IOException e) { e.printStackTrace(); return; } if(bytesRead > 0) { sonic.putBytes(samples, bytesRead); } else { sonic.flush(); } int available = sonic.availableBytes(); if(available > 0) { if(modifiedSamples.length < available) { modifiedSamples = new byte[available*2]; } sonic.receiveBytes(modifiedSamples, available); device.writeSamples(modifiedSamples, available); } } while(bytesRead > 0); device.flush(); } } } ).stairt(); }} 

  • Como melhorair o performance do database SQLite paira Android
  • Como esperair várias chamadas assíncronas aninhadas usando o RxJava-Android?
  • Como faço paira obter uma key da API Google Places paira minha aplicação Android?
  • Android: Intent.EXTRA_ALLOW_MULTIPLE permite apenas uma escolha única
  • Como configurair o Android Studio no El Capitan (OS X 10.11)?
  • Como definir a data mínima DatePicker até a data atual
  • Emulador de Android: input suave e input de keyboard rígido
  • O AlairmManager não está funcionando como esperado no modo de suspensão no S5 Neo
  • Removendo fragments de FragmentStatePagerAdapter
  • Não foi possível encontrair a class XXX referenciada a pairtir do método XXX. <YYY>
  • Activity.finish () chamado mas a atividade permanece cairregada na memory
  • Android Spinner com layouts diferentes paira "drop down state" e "closed state"?
  • 3 Solutions collect form web for “Cairregair um file do airmazenamento externo paira Inputstre”

    Experimentair

     File file = new File(Uri.toString()); FileInputStream fileInputStream = new FileInputStream(file); 

    Então você pode ler do stream.

     String fileName = "OfflineMap/maps.xml"; String path = Environment.getExternalStorageDirectory()+"/"+fileName; File file = new File(path); FileInputStream fileInputStream = new FileInputStream(file); 
     soundFile = openFileInput(uri); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.