Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > JAVA Micro Edition > Программирование

Программирование Вопросы связанные с программированием в JAVA

Ответ
 
Опции темы
Старый 06.02.2011, 17:50   #1
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Смех работа с MIDI

Привет всем!
Есть такой вопрос.
Воспроизвожу на эмуляторе звук через MIDI c помощью JSR-135 и он воспроизводится на отлично.
Загружаю в телефон, а телефон отказывается воспроизводить его.
Читал что любые телефоны с MIDP 2.0 поддерживают MMAPI
но у меня что-то не воспроизводит....

как можно узнать в чем причина?
или как мне проверить работает ли у меня миди... хотя... миди-треки ведь читает на самом мобильном... да и код у меня правильный. на емуляторе же работает.
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 08:53   #2
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: работа с MIDI

Покажи код!
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 17:14   #3
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: работа с MIDI

та говорю же код правильный! емулятор воспроизводит мелодии а на мобильном не работает.
мне надо узнать как узнать может ли мой мобильный воспроизводить МИДИ

если интерестен код то вот можешь посмотреть:
try{
Player p Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);
p.prefetch();
MIDIControl mc = (MIDIControlp.getControl("MIDIControl");
mc.setProgram(0,29,0);
mc.shortMidiEvent(0x90,65,100);
try{
Thread.sleep(1000);
}
catch(
Exception e){}
mc.shortMidiEvent(0x80,65,0);
}
catch(
Еxception e){} 
я щас не дома, поетому пишу с головы и может чтото там не так, но вроде все правильно

Может кто знает функции которые могут взять информацию о МИДИ сиквенсоре который находится в телефоне?
(Offline)
 
Ответить с цитированием
Старый 08.02.2011, 08:06   #4
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: работа с MIDI

У мидиконтрола есть функция
boolean isBankQuerySupported()
возможно, она и покажет - поддерживается воспроизведение или нет. я (через мидиконтрол не играл звук, вот и не уверен)

Способ отлавливать ошибки на реальном телефоне: делаешь статическую строковую переменную (например, strInfo), и при возникновении ошибки в неё инфу присваиваешь.

В твоём случае присваивать надо в ветке отлова ошибки:
...
catch(Exception e)
{
strInfo = "error playing. "+e.toString();
}

и при рисовании на экран рисуешь в конце (чтобы поверх всего было) эту строку в функции paint():

if(strInfo != null && strInfo.length() > 0)
g.drawString(strInfo, 0, 0, 0);
(Offline)
 
Ответить с цитированием
Старый 08.02.2011, 19:55   #5
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: работа с MIDI

Я вот тоже думал насчет етой функции, но незнал что она делает.
Сегодня нашол маленькую статейку как использовать ету функцию
http://www.java2s.com/Code/JavaAPI/j...ySupported.htm

и у меня она на телефоне показала что мой телефон не поддерживает полностью МИДИ. Печально.
Может както ето можно обойти?
Я просто досихпор не понял на что она указивает.
Если она в прямом смысле указывает на то что у меня неполноценное МИДИ то что нужно сделать чтобы хоть немного миди работало?
потомучто playTone() такой отстой.


функция называется isBankQuerySupported
розберем по словам
1) Bank - что ето такое досихпор не понял, знаю только что их вроде от 0 до 127
2) Query - запрос(походу доступ до даного банка)
3) Supported - поддерживается

Получается "Поддерживается ли доступ к банкам" и в итоге оно дает false.
Значит не поддерживается доступ к банкам. Что ето нам дает на даном етапе?
(Offline)
 
Ответить с цитированием
Старый 09.02.2011, 06:17   #6
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: работа с MIDI

По моему разумению, здесь bank - это синоним слову инструмент, в миди как раз 128 инструментов базовых.

Чем playTone плох тебе? Им ведь сразу последовательность нот играть можно, и повторы одинаковых участков очень удобно сделать.
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 01:03   #7
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: работа с MIDI

нещет банков, что ето инструменты, ты не прав)
потомучто когда задаешь програму то ты там указываешь БАКН, ИНСТРУМЕНТ и КАНАЛ)
тоесть если банк ето инструмент то получается два раза инструмент задаем?)))
а нащет что инструментов 127 ето правильно

А playTone плох тем что он вроде звук пианино издает)
а мне нужна електро-гитара)
Так как я гитарист и хочю написать себе такую прогу чтобы где угодно можно было когда придумаю сольняк какойто, то его можно было записать и прослушать
тоесть мне нужно именно МИДИ использовать, где можно инструмент поменять)
но если ето возможно в тонплеере то подскажи как ето сделать)

з.ы. пробовал на многих телефонах запускать ту прогу с использованием isBankQuerySupported() но везде пишет что поддержует МИДИ по минимуму, тоесть функция возвращает значение false.
Печально блин. Интерестно поддержка МИДИ хоть в одном телефоне есть вообще?? Пристутствует ли миди контроллер в мобильных апаратах??
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 09:36   #8
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: работа с MIDI

Возможно, bank - это промежуточная вещь для резервирования памяти под инструмент.

Кроме пианино я не нашёл инструмент для playTone.
Ты функцию проверки сделал и по ней смотришь играть звук или нет? Попробуй всегда играть, может будет звук на других мобильниках.
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 16:56   #9
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: работа с MIDI

надо и так попробовать.
но сомневаюсь что чтото даст.
если оно уже пишет шо типа нету поддержки банков.
если банк - єто промежуточная вещь для резервирования памяти под инструмент то получается что если его нет(или такое не поддерживается) то значит даже пианино играть не будет через миди.
(Offline)
 
Ответить с цитированием
Старый 14.03.2011, 20:28   #10
nil0q
ПроЭктировщик
 
Аватар для nil0q
 
Регистрация: 30.06.2009
Адрес: Челябинская обл.
Сообщений: 111
Написано 32 полезных сообщений
(для 99 пользователей)
Ответ: работа с MIDI

Сообщение от beZ_probleM Посмотреть сообщение
Интерестно поддержка МИДИ хоть в одном телефоне есть вообще?? Пристутствует ли миди контроллер в мобильных апаратах??
Если Nescube работает (синтезирует музыку), то есть! Проверено на нокиях s40 и моём J105i.
Вложения
Тип файла: zip Nescube_203.zip (161.1 Кб, 675 просмотров)
__________________
Аинéжарбази овокáсьф имятнэ́меле как, имякщтóт и имяини́ль оклёт ими́ньдо сяюзлёп, ильсы́м эынэвьтспóс ышáн мóнян тягалзи, эы́жущт тят-ищт сант-ищтý анакаккáт; áкызэй овóваримь авотэ́ як итя́ммарг тыжýлс аирьтэмяег аянлетя́трэщтанот, мадóраи мынавóзарбо мэ́сьф мынтáняп авокáныдя, икиньхэ́ть мóкызэй астэя́львэй шóтрэщт ильсэ́й.
Щамóпф раткáдэрь оидюá!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:59.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com