Mazzay

Пользователи
  • Публикации

    37
  • Зарегистрирован

  • Посещение

О Mazzay

  • Звание
    Продвинутый пользователь

Информация

  • Пол
    Мужчина
  • Город
    Саратов
  1. Спасибо большое! На Билдере получилось так: #include <AndroidApi.JNI.Media.hpp> void AndroidSound(double freqHz, int durationMs) { double Pi = 3.14159265358979323846; int count = (int)(44100.0 * 2.0 * (durationMs / 1000.0)) & ~1; TJavaArray__1<short>* samples = new TJavaArray__1<short>(count); for(int i = 0; i < count; i += 2) { short sample = (short)(Sin(2 * Pi * i / (44100.0 / freqHz)) * 0x7FFF); samples->Items[i + 0] = sample; samples->Items[i + 1] = sample; } _di_JAudioTrack audioTrack; audioTrack = TJAudioTrack::JavaClass->init(TJAudioManager::JavaClass->STREAM_MUSIC, 44100, TJAudioFormat::JavaClass->CHANNEL_CONFIGURATION_MONO, TJAudioFormat::JavaClass->ENCODING_PCM_16BIT, count * (sizeof(TJavaArray__1<short>) / 8), TJAudioTrack::JavaClass->MODE_STATIC); if(audioTrack->write((TJavaArray__1<short>*)samples, 0, count)) audioTrack->play(); delete samples; } Только при многократном вызове (у меня при прокрутке щёлкает звуком ScrollBox) получаю ошибку: Не пойму, почему. Сдаётся мне, переменную audioTrack надо как-то уничтожать. Хотя, это интерфейс…
  2. Приведённый здесь пример почему-то не обрезает выбираемые варианты звуков по длительности ADuration. uses AndroidApi.JNI.Media; procedure MakeSound(ADuration: Integer); var Volume: Integer; StreamType: Integer; ToneType: Integer; ToneGenerator: JToneGenerator; begin Volume := TJToneGenerator.JavaClass.MAX_VOLUME; // задаем громкость StreamType := TJAudioManager.JavaClass.STREAM_ALARM; ToneType := TJToneGenerator.JavaClass.TONE_DTMF_0; // тип звука ToneGenerator := TJToneGenerator.JavaClass.init(StreamType, Volume); ToneGenerator.startTone(ToneType, ADuration); end; Задаваемая длительность может только увеличить время воспроизведения, но не может уменьшить. Может есть какие-нибудь способы обрезать воспроизводимое?
  3. Не хочу добавлять компоненты и аудио-файлы в проект ради обычного воспроизведения коротенького щелчка. Никак не могу найти. Android API позволяет воспроизвести просто звук нужной длительности и частоты?
  4. Спасибо. Пригодилось.
  5. Сделал в результате два грида: левый — с одним столбцом, правый — с остальными. Прокрутку синхронизировал: void __fastcall TMainForm::Grid2ViewportPositionChange(TObject *Sender, const TPointF &OldViewportPosition, const TPointF &NewViewportPosition, const bool ContentSizeChanged) { Grid1->ViewportPosition = TPointF(Grid1->ViewportPosition.X, Grid2->ViewportPosition.Y); } void __fastcall TMainForm::Grid1ViewportPositionChange(TObject *Sender, const TPointF &OldViewportPosition, const TPointF &NewViewportPosition, const bool ContentSizeChanged) { Grid2->ViewportPosition = TPointF(Grid2->ViewportPosition.X, Grid1->ViewportPosition.Y); }
  6. Есть хоть какая-нибудь возможность зафиксировать первый столбец, чтобы он не прокручивался? То есть нужен аналог свойства FixedCols из VCL,
  7. Даже на одно единственное и своё? Просто «Developer» достаточно?
  8. С помощью RAD Studio вообще можно хоть как-то собрать приложение, которое будет использоваться исключительно на двух-трёх устройствах в конторе? «iOS Developer Program», как я понимаю, для такой ситуации никак не подходит? «iOS Enterprise Developer Program» — это в моём случае получается «из пушки по воробьям».
  9. У меня прекрасно работает. Что я делаю не так?
  10. У меня, кстати, почему-то Synchronize тормозит интерфейс. Без него всё синхронно работает и отрисовывается.
  11. Всем добрый день! Приоритет нитки для Windows имеет тип TThreadPriority: enum DECLSPEC_DENUM TThreadPriority : unsigned char { tpIdle, tpLowest, tpLower, tpNormal, tpHigher, tpHighest, tpTimeCritical }; __property TThreadPriority Priority = {read=GetPriority, write=SetPriority, nodefault}; Тут по названиям элементов множества всё предельно понятно. Для Android тип уже int: __property int Priority = {read=GetPriority, write=SetPriority, nodefault}; Нигде не могу найти возможные варианты значений для приоритета. Кто-нибудь знает?
  12. Прежде чем его покупать, хоть как-то протестировать можно?
  13. На своих устройствах бесплатно можно же запускать? Без сертификата разработчика…
  14. Невнимательный я. Спасибо. Буду пытать реальные девайсы.
  15. Пункт 1.1 в случае с C++Builder невыполним, так как нет платформы «iOS Simulator». В случае с Delphi — есть.