Форум программистов, компьютерный форум, киберфорум
Наши страницы

Xuggler в Android - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Экспорт приложения для запуска на устройстве http://www.cyberforum.ru/android-dev/thread940658.html
Хочу попробовать запустить приложение на устройстве, но после создания *.apk файла и копирования его в телефон, устройство его просто не видит. С чем это может быть связано и может быть я не...
Программирование Android Запись файла не могу разобраться Проблема в следующем: с одного аппарата на другой передаю через bluetooth xml файл, вроде что то в поток передается из потока читается и пишется, но немогу понять что. Т.к. посмотреть его не знаю как... http://www.cyberforum.ru/android-dev/thread940642.html
Программирование Android Как заставить работать второй текстурноый блок для комбайнов?
Использую ES1.1. Написал эффект для комбайнов. Использую два текстурных блока. На экрвне правильный результат работы нулевого текстурного блока (GL_TEXTURE0). Одинаковый результат и в эмуляторе и на...
Программная работа с экраном блокировки Программирование Android
Здравствуйте, такой вопрос: как происходит работа с экраном блокировки. ТЕ мне нужно написать сервис, который будет следить за экраном блокировки, например: вы ввели не правильно три раза пароль...
Программирование Android добавление рекламы http://www.cyberforum.ru/android-dev/thread940546.html
есть рабочий код, где реклама выводиться на лаяут public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ...
Программирование Android Простая анимация Хочу создать окно, желательно не на весь экран (диалоговое) в котором нарисовать простую картинку (кружочки, квадратики, текст). Рисунок 2Д и довольно простой, но обьекты можно хватать пальцем и... подробнее

Показать сообщение отдельно
xonski
1 / 1 / 0
Регистрация: 24.07.2013
Сообщений: 35

Xuggler в Android - Программирование Android

20.08.2013, 18:14. Просмотров 592. Ответов 7
Метки (Все метки)

hello
i try to merge audi and video file with xuggler in android .i have LogCat Error. this is a my Error and i do not know how i solve it http://b.pix.ge:81/s/ogvyy.jpg
и это мой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
public class MainActivity extends Activity {
    private MainActivity main;
    private Button convert;
    private Button video;
    
    String filenamevideo = "/sdcard/video.flv";
 
    String filenameaudio = "/sdcard/baywatch.mp3";
 
 
    String FileOutName = "/sdcard/convert.flv";
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        video = (Button) findViewById(R.id.button2);
        video.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Intent in = new Intent(getApplicationContext(), Video.class);
                startActivity(in);
 
            }
        });
 
        convert = (Button) findViewById(R.id.button1);
        convert.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                main = new MainActivity();
                try {
                    main.Conver();
                } catch (Exception exception) {
                    Log.e("Error Message", "exception", exception);
                    return;
                }
            }
        });
    }
 
    public void Conver() {
 
        IMediaWriter mWriter = ToolFactory.makeWriter(FileOutName); // output
                                                                    // file
        IContainer containerVideo = IContainer.make();
        IContainer containerAudio = IContainer.make();
 
        if (containerVideo.open(filenamevideo, IContainer.Type.READ, null) < 0)
            throw new IllegalArgumentException("Cant find " + filenamevideo);
 
        if (containerAudio.open(filenameaudio, IContainer.Type.READ, null) < 0)
            throw new IllegalArgumentException("Cant find " + filenameaudio);
 
        int numStreamVideo = containerVideo.getNumStreams();
        int numStreamAudio = containerAudio.getNumStreams();
 
        System.out.println("Number of video streams: " + numStreamVideo + "\n"
                + "Number of audio streams: " + numStreamAudio);
 
        int videostreamt = -1; // this is the video stream id
        int audiostreamt = -1;
 
        IStreamCoder videocoder = null;
 
        for (int i = 0; i < numStreamVideo; i++) {
            IStream stream = containerVideo.getStream(i);
            IStreamCoder code = stream.getStreamCoder();
 
            if (code.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
                videostreamt = i;
                videocoder = code;
                break;
            }
 
        }
 
        for (int i = 0; i < numStreamAudio; i++) {
            IStream stream = containerAudio.getStream(i);
            IStreamCoder code = stream.getStreamCoder();
 
            if (code.getCodecType() == ICodec.Type.CODEC_TYPE_AUDIO) {
                audiostreamt = i;
                break;
            }
 
        }
 
        if (videostreamt == -1)
            throw new RuntimeException("No video steam found");
        if (audiostreamt == -1)
            throw new RuntimeException("No audio steam found");
 
        if (videocoder.open() < 0)
            throw new RuntimeException("Cant open video coder");
        IPacket packetvideo = IPacket.make();
 
        IStreamCoder audioCoder = containerAudio.getStream(audiostreamt)
                .getStreamCoder();
 
        if (audioCoder.open() < 0)
            throw new RuntimeException("Cant open audio coder");
        mWriter.addAudioStream(1, 1, audioCoder.getChannels(),
                audioCoder.getSampleRate());
 
        mWriter.addVideoStream(0, 0, videocoder.getWidth(),
                videocoder.getHeight());
 
        IPacket packetaudio = IPacket.make();
 
        while (containerVideo.readNextPacket(packetvideo) >= 0
                || containerAudio.readNextPacket(packetaudio) >= 0) {
 
            if (packetvideo.getStreamIndex() == videostreamt) {
 
                // video packet
                IVideoPicture picture = IVideoPicture.make(
                        videocoder.getPixelType(), videocoder.getWidth(),
                        videocoder.getHeight());
                int offset = 0;
                while (offset < packetvideo.getSize()) {
                    int bytesDecoded = videocoder.decodeVideo(picture,
                            packetvideo, offset);
                    if (bytesDecoded < 0)
                        throw new RuntimeException("bytesDecoded not working");
                    offset += bytesDecoded;
 
                    if (picture.isComplete()) {
                        System.out.println(picture.getPixelType());
                        mWriter.encodeVideo(0, picture);
 
                    }
                }
            }
 
            if (packetaudio.getStreamIndex() == audiostreamt) {
                // audio packet
 
                IAudioSamples samples = IAudioSamples.make(512,
                        audioCoder.getChannels(), IAudioSamples.Format.FMT_S32);
                int offset = 0;
                while (offset < packetaudio.getSize()) {
                    int bytesDecodedaudio = audioCoder.decodeAudio(samples,
                            packetaudio, offset);
                    if (bytesDecodedaudio < 0)
                        throw new RuntimeException("could not detect audio");
                    offset += bytesDecodedaudio;
 
                    if (samples.isComplete()) {
                        mWriter.encodeAudio(1, samples);
 
                    }
                }
 
            }
 
        }
 
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru