Curso de Android con Java: Grabar un video mediante Intent y guardarlo en la memoria interna

  Рет қаралды 1,647

diego moisset de espanes

diego moisset de espanes

Күн бұрын

Пікірлер: 8
@pacolopezl.7537
@pacolopezl.7537 3 жыл бұрын
Hola Gracias por su excelente video. Oiga, cómo podría filtrar solo los archivos .mp4 en el spiner porque me aparecen otros mas y carpetas. Y cómo podrìa obtener el path de cada .mp4 para intentar enviarlo a un servidor. Muchas Gracias.
@SubZero64s
@SubZero64s 3 жыл бұрын
Ojala sigas haciendo estos valiosos videos salu2
@diegomoissetdeespanes
@diegomoissetdeespanes 3 жыл бұрын
Saludos Tommy
@pacolopezl.7537
@pacolopezl.7537 3 жыл бұрын
Tambien metí las lineas lista=fileList(); ArrayAdapter adapter = new ArrayAdapter (this, android.R.layout.simple_spinner_item, lista); sp1.setAdapter(adapter); para que actualizara la lista de videos del spiner una vez que toma un nuevo video, ya que de otro modo si se siguen sacando videos no se ven en el spinner a menos que se vuelva a entrar a la aplicacion. Pero no se si es correcto estar creando nuevos objetos con las lista de archivos para el spinner. Como se podría hacer para actualizar el spinner sin repetir nuevos objetos fileList(); ?? Gracias.
@diegomoissetdeespanes
@diegomoissetdeespanes 3 жыл бұрын
Si el objeto 'lista' es un vector, la única forma de actualizar el Spinner es crear un nuevo objeto adapter. Si queremos que sea más eficiente debemos crear un ArrayList: package com.tutorialesprogramacionya.proyecto046; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.content.Intent; import android.content.res.AssetFileDescriptor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; import android.widget.VideoView; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; public class MainActivity extends AppCompatActivity { private static final int TOMA_VIDEO = 1; private VideoView vv1; private Spinner sp1; private ArrayList lista=new ArrayList(); private ArrayAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vv1=findViewById(R.id.videoView); sp1=findViewById(R.id.spinner); for(int f=0;f< fileList().length;f++) lista.add(fileList()[f]); adapter=new ArrayAdapter(this, android.R.layout.simple_spinner_item,lista); sp1.setAdapter(adapter); } public void tomarVideo(View v) { Intent intent=new Intent(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent,TOMA_VIDEO); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==TOMA_VIDEO && resultCode==RESULT_OK) { Uri videoUri=data.getData(); vv1.setVideoURI(videoUri); vv1.start(); try { AssetFileDescriptor videoAsset = getContentResolver().openAssetFileDescriptor(data.getData(), "r"); FileInputStream in = videoAsset.createInputStream(); String nombrearch=crearNombreArchivoMP4(); FileOutputStream archivo = openFileOutput(nombrearch, Context.MODE_PRIVATE); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { archivo.write(buf, 0, len); } lista.add(nombrearch); adapter.notifyDataSetChanged(); }catch (IOException e) { Toast.makeText(this,"Problemas en la grabación",Toast.LENGTH_SHORT).show(); } } } private String crearNombreArchivoMP4() { String fecha = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String nombre = fecha + ".mp4"; return nombre; } public void verVideo(View v) { int pos=sp1.getSelectedItemPosition(); vv1.setVideoPath(getFilesDir()+"/"+lista.get(pos)); vv1.start(); } }
@luciaguadalupenunezyanez6419
@luciaguadalupenunezyanez6419 Жыл бұрын
Start activity for result esta en desuso
@arellano2140
@arellano2140 3 жыл бұрын
Y como se guardaría en una memoria externa o una usb?
@vloxomire
@vloxomire 2 жыл бұрын
Hola profe, era para comentar que en la api 32(Tiramisu) este código no se visualiza en el videoView, pero lo probé en mi celu físico que tiene una versión posterior y ahí funciono perfecto. este es el error que me tira en la api 31: en el TOMA_VIDEO le puse 69 😅 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.max.a45_grabar_video_y_guardarlo_en_memoria, PID: 28697 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=69, result=-1, data=Intent { dat=content://media/external_primary/video/media/59 flg=0x1 }} to activity {com.max.a45_grabar_video_y_guardarlo_en_memoria/com.max.a45_grabar_video_y_guardarlo_en_memoria.MainActivity}: java.lang.IllegalStateException: Only owner is able to interact with pending/trashed item content://media/external_primary/video/media/59 at android.app.ActivityThread.deliverResults(ActivityThread.java:5343)
Cómo tomar fotos en Android Studio
13:52
Códigos de Programación - MR
Рет қаралды 28 М.
How DeepSeek AI Helped Me Create Maps Effortlessly
9:49
GeoDelta Labs
Рет қаралды 838 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Grabadora en Java con Android Studio (Iguana)
19:04
Paula del Puerto Caballero
Рет қаралды 239
How to create a Camera App using CameraX in Android Studio
13:27
Everyday Programmer
Рет қаралды 18 М.
Curso Android desde cero #30 | Base de datos - Altas (SQLite) en Android
21:14
La Geekipedia De Ernesto
Рет қаралды 196 М.
Librería para cámara, fácil en android studio
16:51
INGENIERÍA JHR
Рет қаралды 2,1 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 172 М.
Curso Android desde cero #47 | Grabación de vídeo en Android Studio
12:30
La Geekipedia De Ernesto
Рет қаралды 35 М.
¿Cuál es el mejor editor de código para Java?
11:44
diego moisset de espanes
Рет қаралды 844
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН