Форум программистов, компьютерный форум CyberForum.ru

Повторное воспроизведение музыки после кнопки home (media-player) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как ведется работа со стереозвуком ? http://www.cyberforum.ru/android-dev/thread940812.html
Точнее как можно управлять этим? Например поток с одного аудиофайла в одни уши, поток с другим аудиофайлом в другие уши. Буду признателен за кусок кода отвечаеющий за это.
Программирование Android Xuggler в Android 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 и это мой код public class MainActivity extends Activity { private MainActivity main; private Button convert; private Button video; String filenamevideo = "/sdcard/video.flv"; http://www.cyberforum.ru/android-dev/thread940809.html
Программирование Android Экспорт приложения для запуска на устройстве
Хочу попробовать запустить приложение на устройстве, но после создания *.apk файла и копирования его в телефон, устройство его просто не видит. С чем это может быть связано и может быть я не правильно что-то делаю? Или версия проекта в эклипсе как-то влияет? Компилировал я под версией 2.3.3. Но указывал от 2.3.3 до 4.0. ОС на телефоне 2.3.4. Подскажите пожалуйста. Здесь говно-инструкция,...
Программирование Android Запись файла не могу разобраться
Проблема в следующем: с одного аппарата на другой передаю через bluetooth xml файл, вроде что то в поток передается из потока читается и пишется, но немогу понять что. Т.к. посмотреть его не знаю как (отладка не на эмуляторе). Прочитать я его потом не могу, значить если что то и пишется, то явно не то что надо. Самое интересное, что он не затирает старый файл, потому что при считывании его в...
Программирование Android Как заставить работать второй текстурноый блок для комбайнов? http://www.cyberforum.ru/android-dev/thread940634.html
Использую ES1.1. Написал эффект для комбайнов. Использую два текстурных блока. На экрвне правильный результат работы нулевого текстурного блока (GL_TEXTURE0). Одинаковый результат и в эмуляторе и на устройстве. Эмулятор говорит что всего блоков 8. Блок активирую командой glTextureActivate. В Результате новые установки в нулевой блок не попадают, но на выход идет результат с нулевого блока. Может...
Программирование Android Программная работа с экраном блокировки Здравствуйте, такой вопрос: как происходит работа с экраном блокировки. ТЕ мне нужно написать сервис, который будет следить за экраном блокировки, например: вы ввели не правильно три раза пароль происходит какое-то действие. подробнее

Показать сообщение отдельно
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
27.08.2013, 20:38
nexen, сначала думал, что всё дело в prepare(), но откровенно говоря странная ситуация. Лезть в дебри NDK пока желания нет, но я полагаю, что всё дело в native методах..
Для сравнения: исходники
MediaPlayer.create()
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    public static MediaPlayer create(Context context, int resid) {
        try {
            AssetFileDescriptor afd = context.getResources().openRawResourceFd(resid);
            if (afd == null) return null;
 
            MediaPlayer mp = new MediaPlayer();
            mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
            afd.close();
            mp.prepare();
            return mp;
        } catch (IOException ex) {
            Log.d(TAG, "create failed:", ex);
            // fall through
        } catch (IllegalArgumentException ex) {
            Log.d(TAG, "create failed:", ex);
           // fall through
        } catch (SecurityException ex) {
            Log.d(TAG, "create failed:", ex);
            // fall through
        }
        return null;
    }


MediaPlayer.setDataSource()
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
    public void setDataSource(Context context, Uri uri)
        throws IOException, IllegalArgumentException, SecurityException, IllegalStateException {
 
        String scheme = uri.getScheme();
        if(scheme == null || scheme.equals("file")) {
            setDataSource(uri.getPath());
            return;
        }
 
        AssetFileDescriptor fd = null;
        try {
            ContentResolver resolver = context.getContentResolver();
            fd = resolver.openAssetFileDescriptor(uri, "r");
            if (fd == null) {
                return;
            }
            // Note: using getDeclaredLength so that our behavior is the same
            // as previous versions when the content provider is returning
            // a full file.
            if (fd.getDeclaredLength() < 0) {
                setDataSource(fd.getFileDescriptor());
            } else {
                setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getDeclaredLength());
            }
            return;
        } catch (SecurityException ex) {
        } catch (IOException ex) {
        } finally {
            if (fd != null) {
                fd.close();
            }
        }
        Log.d(TAG, "Couldn't open file on client side, trying server side");
        setDataSource(uri.toString());
        return;
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru