Привет всем, так что не уверен, что это возможно с помощью приложения as3 для Android Air. Я занимаюсь этим уже неделю с некоторым прогрессом, но не таким, каким бы я хотел, чтобы он был.
До сих пор у меня это было там, где, когда пользователь прокручивает звук, он вызывает место хранения, чтобы сохранить звук на телефоне. Единственная проблема в том, что он не позволяет мне сохранить его в качестве мелодии звонка или уведомления. Просто сохраняет его на устройстве;
Я хотел бы, чтобы пользователь мог щелкнуть «Сохранить» и сохранить его в мелодии звонка, чтобы установить его в качестве мелодии звонка и т. Д.
Любая помощь будет оценена по достоинству. Вот что у меня есть до сих пор:
Я сохраняю звуки как wav. У меня все еще есть некоторые проблемы с этим, потому что, когда файл находится на устройстве, и я пытаюсь его воспроизвести, он воспроизводит его, но затем вылетает и говорит, что не может прочитать файл.
var snd:Sound = new sndPanda();
var sndBytes:ByteArray = new ByteArray();
sndBytes.endian = Endian.LITTLE_ENDIAN;
snd.extract( sndBytes, 44100 * 2 );
var wav:ByteArray = encode( sndBytes );
var f:FileReference = new FileReference(); //save file to phone
f.save( wav, "Panda.Mp3" );
function encode( data:ByteArray ):ByteArray
{
var channels:uint = 2;
var bits:uint = 16;
var rate:uint = 44100;
var bytes: ByteArray = new ByteArray();
bytes.endian = Endian.LITTLE_ENDIAN;
bytes.writeUTFBytes( 'RIFF' );
bytes.writeInt( uint( data.length + 44 ) );
bytes.writeUTFBytes( 'WAVE' );
bytes.writeUTFBytes( 'fmt ' );
bytes.writeInt( uint( 16 ) );
bytes.writeShort( uint( 1 ) );
bytes.writeShort( channels );
bytes.writeInt( rate );
bytes.writeInt( uint( rate * channels * ( bits / 8 ) ) );
bytes.writeShort( uint( channels * ( bits / 8 ) ) );
bytes.writeShort( bits );
bytes.writeUTFBytes( 'data' );
bytes.writeInt( data.length );
data.position = 0;
var length:int = data.length - 4;
while (data.position < length) { // could be better :-)
bytes.writeShort(uint(data.readFloat() * 65536));
}
bytes.position = 0;
return bytes;
}
Как видите, я использую FileReference для сохранения на устройство. Но я знаю, что должен быть способ сохранить в качестве мелодии звонка. Заранее спасибо.