Wymagania:
Chcę rozwijać aplikację, która ma wideo recoding z pauza i wznowienie funkcji.
Próbowałem:
I opracowali aplikację upto recoding wideo przy użyciu widoku powierzchni.
już obecnie badane:
już przeszukiwane wszystkie strony, a także like ale do tej pory nie mogę uzyskać rozwiązanie i że wiem, że nie jest opcja domyślna w systemie Android i na przerwie wznowić wideo i wiedzieć, łącząc wideo, możemy go osiągnąć.
czego potrzebuję:
Proszę udostępnić mi czy jest jakiś plugin zewnętrzne dostępne dla niej, prowadź mnie, jak to osiągnąć, jeśli już osiągnięty, a także udostępnić mi żadnych Resouce że związane, jak scalić film ..i Szukano ale brak właściwego zasobu widziałem Proszę podzielić się niczego, jeśli okaże ..Jak dodać pauzę i wznowić funkcję podczas recoding wideo w android
9
A
Odpowiedz
5
wreszcie znaleźć odpowiedź :)
i badań o FFmpeg wydaje się bardziej głęboko I jeszcze kilka dni, kiedy się wokół niego kopie, ale nie mogę uzyskać
odpowiedniego zasobu dla ffmepg i próbuję użyć mp4parser lib i pomyślnie ukończyłem moje wymaganie.
Kod Na łączenie kilku wideo
public class MergeVide extends AsyncTask<String, Integer, String> {
@Override
protected void onPreExecute() {
progressDialog = ProgressDialog.show(Video.this,
"Preparing for upload", "Please wait...", true);
// do initialization of required objects objects here
};
@Override
protected String doInBackground(String... params) {
try {
String paths[] = new String[count];
Movie[] inMovies = new Movie[count];
for (int i = 0; i < count; i++) {
paths[i] = path + filename + String.valueOf(i + 1) + ".mp4";
inMovies[i] = MovieCreator.build(new FileInputStream(
paths[i]).getChannel());
}
List<Track> videoTracks = new LinkedList<Track>();
List<Track> audioTracks = new LinkedList<Track>();
for (Movie m : inMovies) {
for (Track t : m.getTracks()) {
if (t.getHandler().equals("soun")) {
audioTracks.add(t);
}
if (t.getHandler().equals("vide")) {
videoTracks.add(t);
}
}
}
Movie result = new Movie();
if (audioTracks.size() > 0) {
result.addTrack(new AppendTrack(audioTracks
.toArray(new Track[audioTracks.size()])));
}
if (videoTracks.size() > 0) {
result.addTrack(new AppendTrack(videoTracks
.toArray(new Track[videoTracks.size()])));
}
BasicContainer out = (BasicContainer) new DefaultMp4Builder()
.build(result);
@SuppressWarnings("resource")
FileChannel fc = new RandomAccessFile(String.format(Environment
.getExternalStorageDirectory() + "/wishbyvideo.mp4"),
"rw").getChannel();
out.writeContainer(fc);
fc.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String mFileName = Environment.getExternalStorageDirectory()
.getAbsolutePath();
mFileName += "/wishbyvideo.mp4";
filename = mFileName;
return mFileName;
}
@Override
protected void onPostExecute(String value) {
super.onPostExecute(value);
progressDialog.dismiss();
Intent i = new Intent(Video.this, VideoUpload.class);
i.putExtra("videopath", value);
i.putExtra("id", id);
i.putExtra("name", name);
i.putExtra("photo", photo);
startActivity(i);
finish();
}
}
liczba to nic innego jak liczyć plików wideo.
Powyższy kod umożliwia połączenie większej ilości wideo i wysłanie ostatecznego kodu do innej czynności, w której zdecydowałem się wyświetlić podgląd wideo.
przed użyciem powyższego kodu, upewnij się, że używasz mp4parser lib.
Powiązane problemy
- 1. Android: Jak zatrzymać i wznowić licznik odliczania?
- 2. Jak dodać funkcję przeciągania na Android CardView?
- 3. Jak zawiesić i wznowić wątki w systemie Android?
- 4. Zrobić pauzę podczas nieskończonej animacji CSS3
- 5. Jak zatrzymać i wznowić TimerTask/Timer
- 6. Jak wstrzymać i wznowić UIView.animateWithDuration
- 7. jak zatrzymać i wznowić NSTimer w iphone
- 8. Jak wstrzymać i wznowić licznik czasu?
- 9. Jak wstawić 5-sekundową pauzę w nagraniu Camtasia?
- 10. Jak dodać funkcję "submitHandler" podczas korzystania z jQuery Unfortroduive Validation?
- 11. Strumieniowanie wideo i system Android
- 12. Jak dodać funkcję levenshtein w mysql?
- 13. Czy mogę dodać funkcję kontroli spojrzeń, taką jak youtube, w widoku Android VR bez użycia Unity?
- 14. Jak dodać animowany/prosty obraz jako najwyższą warstwę do wideo i wyeksportować go jako pojedynczy plik wideo w systemie Android?
- 15. Swing Timer, jak zatrzymać i wznowić?
- 16. Jak wstrzymać/wznowić pobieranie w iPhone (iOS)?
- 17. Android: OutOfMemoryError podczas przesyłania wideo - jak najlepiej porwać?
- 18. jak dodać czcionkę w Android
- 19. Android: Jak utworzyć odtwarzacz wideo?
- 20. Jak zastosować filtrowanie wideo w systemie Android?
- 21. jak dodać funkcję przewijania do UILabel'a
- 22. Jak wznowić działanie podczas wywoływania go z intencji
- 23. Android Intent do przechwytywania obrazów i wideo?
- 24. Jak dodać niestandardową funkcję Markdown do SimpleMDE?
- 25. Jak dodać buforowanie do mojego wideo HTML?
- 26. Jak przerwać, wstrzymać i wznowić wątki w C#?
- 27. Jak zawiesić i wznowić sekwencję poleceń w Bash?
- 28. Android MediaRecorder setCaptureRate() i prędkość odtwarzania wideo
- 29. Przechwytywanie ekranu Android i tworzenie wideo programowo
- 30. Jak wznowić zatrzymane pojemnik Döcker
Hej Karthi, próbowałem użyć tego kodu. Zgłasza błąd i zaleca mnie rzucić z DataSource, po odlaniu rzuca ClassCastException na tej linii: inMovies [i] = MovieCreator.build (. (DataSource) nowy FileInputStream ( ścieżki [i]) getChannel()); Potem zastąpił drogę bez kanału i FileInputStream jak jest przyjmowanie bezpośredniej plik ciąg też, że szwów film też, ale nie powiedzie się, aby grać i łączy nieprawidłowo. Czy możesz mi powiedzieć, że wersja słoika, którego użyłeś, spróbuję zastąpić tym słojem. Powiedz mi też, jak nie przesyłać DataSource. Uprzejmie proszę dać mi znać. Dzięki. – iabhi
Cóż mam wyjątek „java.io.IOException: Nie można dołączyć Mp4TrackImpl {handler =«vide»} do Mp4TrackImpl {handler =«vide»} Ponieważ ich Przykładowy opis Boksy różnią:” dodając ten. if (videoTracks.size()> 0) { wynik.addTrack (nowy AppendTrack (wideoTracks .toArray (nowa ścieżka [videoTracks.size()]))); } –
@karthi możesz nam powiedzieć, co to jest BasicContainer? – duggu