完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道,可以更好地对用户的软件使用全周期进行更加专业地服务。
IdleMute是一款绿色小巧的音量控制软件。静音扬声器或闲置一段时间后,运行程序,使用热键静音控制音量。
"锦囊妙技"栏目是聚合全网软件使用的技巧或者软件使用过程中各种问题的解答类文章,栏目设立伊始,小编欢迎各路软件大神朋友们踊跃投稿,在完美者平台分享大家的独门技巧。
本站文章素材来源于网络,大部分文章作者名称佚失,为了更利于用户阅读和使用,根据需要进行了重新排版和部分改编,本站收录文章只是以帮助用户解决实际问题为目的,如有版权问题请联系小编修改或删除,谢谢合作。
软件大小:259.36 KB
I've written songs (in the dark)I've felt inspired (in the dark)I hide myself (in the dark)Used to be afraid (of the dark)Those in the light know we die (in the dark)There's only artificial light hereMy flaws hide well hereI used to be afraid of cluttered noisesNow I'm afraid of silenceFill this space, idle wordsI'm scared to death of light and silenceJesus kill me inside thisRaise me up to live againLike you did, like you didNow I'm mute, despite myselfAll of them are goneThe silence overtakes meThe idle words forsake me And I am left to face meI'm held accountable for every idle wordCurse the idle wordsI'm scared to death of light and silenceJesus kill me inside thisRaise me up to live againLike you did, like you didGlory shows up, exposes usI'm naked here, forsaken hereBy the dark, by the darkI'm scared to death of light and silenceJesus kill me inside thisRaise me up to live againLike you did, like you did太难找了,找了半小时,我只好找了首only my word的歌送给你
歌曲名:In The Dark (1995 Digital Remaster)歌手:Billy Squier专辑:The Best Of Billy Squier/16 StrokesFlyleaf - In The DarkI've written songs (in the dark)I've felt inspired (in the dark)I hide myself (in the dark)Used to be afraid (of the dark)Those in the light know we die (in the dark)There's only artificial light hereMy flaws hide well hereI used to be afraid of cluttered noisesNow I'm afraid of silenceFill this space, idle wordsI'm scared to death of light and silenceJesus kill me inside thisRaise me up to live againLike you did, like you didNow I'm mute, despite myselfAll of them are goneThe silence overtakes meThe idle words forsake meAnd I am left to face meI'm held accountable for every idle wordCurse the idle wordsI'm scared to death of light and silenceJesus kill me inside thisRaise me up to live againLike you did, like you didGlory shows up, exposes usI'm naked here, forsaken hereBy the dark, by the darkI'm scared to death of light and silenceJesus kill me inside thisRaise me up to live againLike you did, like you didhttp://music.baidu.com/song/2803227
AudioFlinger的诞生AF是一个服务,这个就不用我多说了吧?代码在framework/base/media/mediaserver/Main_mediaServer.cpp中。int main(int argc, char** argv){ sp<ProcessState> proc(ProcessState::self());sp<IServiceManager> sm = defaultServiceManager();.... AudioFlinger::instantiate();--->AF的实例化AudioPolicyService::instantiate();--->APS的实例化.... ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool();}哇塞,看来这个程序的负担很重啊。没想到。为何AF,APS要和MediaService和CameraService都放到一个篮子里?看看AF的实例化静态函数,在framework/base/libs/audioFlinger/audioFlinger.cpp中void AudioFlinger::instantiate() { defaultServiceManager()->addService( //把AF实例加入系统服务 String16("media.audio_flinger"), new AudioFlinger());}再来看看它的构造函数是什么做的。AudioFlinger::AudioFlinger() : BnAudioFlinger(),//初始化基类 mAudioHardware(0), //audio硬件的HAL对象mMasterVolume(1.0f), mMasterMute(false), mNextThreadId(0){mHardwareStatus = AUDIO_HW_IDLE;//创建代表Audio硬件的HAL对象 mAudioHardware = AudioHardwareInterface::create(); mHardwareStatus = AUDIO_HW_INIT; if (mAudioHardware->initCheck() == NO_ERROR) { setMode(AudioSystem::MODE_NORMAL);//设置系统的声音模式等,其实就是设置硬件的模式 setMasterVolume(1.0f); setMasterMute(false); }}AF中经常有setXXX的函数,到底是干什么的呢?我们看看setMode函数。status_t AudioFlinger::setMode(int mode){ mHardwareStatus = AUDIO_HW_SET_MODE; status_t ret = mAudioHardware->setMode(mode);//设置硬件的模式 mHardwareStatus = AUDIO_HW_IDLE; return ret;}当然,setXXX还有些别的东西,但基本上都会涉及到硬件对象。我们暂且不管它。等分析到Audio策略再说。好了,Android系统启动的时候,看来AF也准备好硬件了。不过,创建硬件对象就代表我们可以播放了吗?2.2 AT调用AF的流程我这里简单的把AT调用AF的流程列一下,待会按这个顺序分析AF的工作方式。--参加AudioTrack分析的4.1节1. 创建AudioTrack* lpTrack = new AudioTrack();lpTrack->set(...);这个就进入到C++的AT了。下面是AT的set函数audio_io_handle_t output =AudioSystem::getOutput((AudioSystem::stream_type)streamType, sampleRate, format, channels, (AudioSystem::output_flags)flags); status_t status = createTrack(streamType, sampleRate, format, channelCount, frameCount, flags, sharedBuffer, output);----->creatTrack会和AF打交道。我们看看createTrack重要语句const sp<IAudioFlinger>& audioFlinger = AudioSystem::get_audio_flinger(); //下面很重要,调用AF的createTrack获得一个IAudioTrack对象 sp<IAudioTrack> track = audioFlinger->createTrack(); sp<IMemory> cblk = track->getCblk();//获取共享内存的管理结构总结一下创建的流程,AT调用AF的createTrack获得一个IAudioTrack对象,然后从这个对象中获得共享内存的对象。2. start和write看看AT的start,估计就是调用IAudioTrack的start吧?void AudioTrack::start(){//果然啊... status_t status = mAudioTrack->start();}那write呢?我们之前讲了,AT就是从共享buffer中:l Lock缓存l 写缓存l Unlock缓存注意,这里的Lock和Unlock是有问题的,什么问题呢?待会我们再说按这种方式的话,那么AF一定是有一个线程在那也是:l Lock,l 读缓存,写硬件l Unlock
It is said that the weather of Beijing is most desirable in autumn. Looking overhead, I saw but a vast dustless cerulean canopy overarching above, so high and distant as if out of man‘s reach. This, together with the cozy sunshine and refreshing wind, all at once swept the dust and tiredness from my mind. On such a fine morning, I paid my visit to the Summer Palace. I arrived there around 9 o‘clock and since it was the seven day long holiday, inevitably, there were indeed a tremendous number of tourists. And the scene at the entrance was really chaotic: crowds of anxious tourists here and there, air pervaded with the smog emitted by congested buses and cars, noises of tour guides‘ speakers and vehicles‘ horns. Yet the ancient garden mysteriously excluded those commotions all. Roaming along the slightly sloping paths in Longevity Hill, I was completed enveloped by an atmosphere of extreme tranquility. You saw long tailed birds staggering in funny manner. You heard the twitte ring and giggling of birds of various tones and tunes. You felt the course and mute body of old trees, which, with their never the same postures did inspire different vagaries. And never would you expect to come across such pretty creatures as squirrels scampering naughtily and boldly on the sheeny grass. So I strolled there, dreaming that one day I could just live near theSummer Palace, so that I could visit here every dawn in all seasons and weathers; so that I could get acquainted with all these lovely trees and flowers and animals; so that I could find any quiet recess to idle away as many hours as I liked without being hasty because I was just a tourist. Soon I reached the Attic of Buddha Fragrance that stood in the middle of the hill facing the Kunming Lake. Here the land scape of nature and a maze of architecture integrated perfectly.Stop for a while and look out of the windows on the finely decorated corridors in different angles and varying scenery came into your sight, sometimes distant mountains with the vague image of a tower; sometimes a vista of all the halls and attics and gates and pagoda; sometimes the vast glittering lake spotted with numerous boats and yachts. Going down the Longevity Hill and passing the zigzag corridors and the stone boat of ingenious design, I stepped on the long causeway, a bundle of narrow islands linked by bridges, diriding the Kunming Lake into two parts. It also rendered the lake two diametrically different temperaments. On one side was that sparkling paradise, vibrant with joy and sunshine. The other side seemed almost reclusive, like a huge, immaculate crystal in laid in earth, absorbing and reflecting the subtle complexion of heaven, a deep blue with stretches of mildly bright luster, mingled with the green silhouette of trees at the far end of the lake.The near-bank side was covered by a carpet of luxuriant lotus,and though it wasn‘t summer, their verdant leaves did infuse much life into the landscape. There being no wind, its surface looked like an expanse of unruffled silk. And when some gentle breeze wrinkled it, uninterrupted ripples of great diameter silently slided, one by one, thus produced a soft palette of flowing and dancing colors. All the way I was listening to Mozart‘s clarinet concerto and Beethoven‘s violin sonata "spring", lively reflection of the very essence of the landscape here; a blending of heavenly joy that is innocent and shining and meditative serenity that is sublime and purifying and therefore formed an exquisite tension so that you never felt tired of either. Admittedly, it is impossible to fully enjoy all the beauty of Summer Palace in a brief day. But that‘s enough for it to in scribe a lasting memory in my mind of its intoxicating pleasure and sweet melancholy.