cor

Japan’s record number of women MPs still a minority

Japan ranks 118th of 146 in the 2024 World Economic Forum’s Global Gender Gap report




cor

Andhra Pradesh Chief Minister promises industrial corridor, airport to Srikakulam district

Many top companies are willing to invest in Andhra Pradesh as they believe in the government’s commitment and consistency in its policies, says Chandrababu Naidu




cor

Setting up of industrial corridor, development of roads in Krishna district soon: Minister




cor

Diverse thermal desorption combined with self-aspirating corona discharge ionization for direct mass spectrometry analysis of complex samples

Anal. Methods, 2024, 16,2071-2076
DOI: 10.1039/D4AY00200H, Paper
Qinhao Shi, Xiaohua Yu, Shuang Sun, Weilong Wu, Wenyan Shi, Quan Yu
The thermal desorption (TD) technique is widely employed in modern mass spectrometry to facilitate the detection of non-volatile analytes.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

P3MOT-decorated metal-porphyrin-based zirconium-MOF for the efficient electrochemical detection of 4-nitrobenzaldehyde

Anal. Methods, 2024, 16,2093-2100
DOI: 10.1039/D4AY00152D, Paper
Wen-yi Chen, Xin-yu Huang, Qian Sun, En-qing Gao
Developed a novel hybrid P3MOT@PCN-222(Fe) via in situ polymerization for 4-NBA detection. Showcased broad detection range, high sensitivity, selectivity and stability, laying groundwork for environmental monitoring.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Aptamer aided plasmonic nano-urchin for reporter free surface-enhanced Raman spectroscopy analysis of cortisol

Anal. Methods, 2024, Accepted Manuscript
DOI: 10.1039/D4AY00401A, Paper
Chengyu Li, Jing Hu, Nan Hu, Jianjun Zhao, Qianwen Li, Yanhui Han, Yanxiong Liu, Xufang Hu, Liyan Zheng, Qiu-E Cao
Cortisol is a vital glucocorticoid hormone reflecting stress levels and related disease processes. We present an aptamer functionalized plasmonic nano-urchin (α-FeOOH@Au-aptamer) aided cortisol capturing and Surface-enhanced Raman spectroscopy (SERS) analysis...
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Correction: An impedimetric sensor based on molecularly imprinted nanoparticles for the determination of trypsin in artificial matrices – towards point-of-care diagnostics

Anal. Methods, 2024, Advance Article
DOI: 10.1039/D4AY90029D, Correction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Sabrina Di Masi, Marco Costa, Francesco Canfarotta, Antonio Guerreiro, Alicia Hartley, Sergey A. Piletsky, Cosimino Malitesta
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Development of a label-free, sensitive gold nanoparticles-poly (adenine)aptasensing platform for colorimetric determination of aflatoxin B1 in corn

Anal. Methods, 2024, Accepted Manuscript
DOI: 10.1039/D4AY00605D, Paper
Omid Heydari Shayesteh, Katayoun Derakhshandeh, Akram Ranjbar, Reza Mahjub, Abbas Farmany
In this work, a sensitive colorimetric bioassay method based on poly (adenine) aptamer (polyA apt) and gold nanoparticles (AuNPs) was developed to the determination of aflatoxin B1 (AFB1). The polyA...
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Statistical approaches to Raman imaging: principal component score mapping

Anal. Methods, 2024, Advance Article
DOI: 10.1039/D4AY00171K, Paper
Open Access
Elia Marin, Davide Redolfi Bristol, Alfredo Rondinella, Alex Lanzutti, Pietro Riello
We propose and benchmark test a universal protocol for the analysis of huge Raman imaging datasets, by applying PCA on raw, unprocessed data.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Construction of a stable fluorescent sensor based on CsPbBr3/CdS core/shell quantum dots for selective and sensitive detection of tetracycline in ethanol

Anal. Methods, 2024, 16,2267-2277
DOI: 10.1039/D4AY00032C, Paper
Yang He, Yangjie Li, Han Wang, Site Luo, Haihu Yu
Construction of a stable fluorescent sensor based on CsPbBr3/CdS core/shell quantum dots for selective and sensitive detection of tetracycline in ethanol via a mechanism integrating photoinduced electron transfer.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Design and fabrication of La-based perovskites incorporated with functionalized carbon nanofibers for the electrochemical detection of roxarsone in water and food samples

Anal. Methods, 2024, Advance Article
DOI: 10.1039/D4AY00264D, Paper
Mariya Antony John Felix, Santhiyagu Sahayaraj Rex Shanlee, Shen-Ming Chen, Sundaresan Ruspika, Ramachandran Balaji, Narendhar Chandrasekar, Periyanayagam Arockia Doss
Fabrication of potent electrocatalyst, La-based perovskites coupled with functionalized carbon nanofibers (LMO/f-CNF) for ultrasensitive electrochemical detection of roxarsone in edible and water samples.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Correction: Anti-schistosomal activity and ADMET properties of 1,2,5-oxadiazinane-containing compound synthesized by visible-light photoredox catalysis

RSC Med. Chem., 2024, Advance Article
DOI: 10.1039/D4MD90044H, Correction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Kennosuke Itoh, Hiroki Nakahara, Atsushi Takashino, Aya Hara, Akiho Katsuno, Yuriko Abe, Takaaki Mizuguchi, Fumika Karaki, Shigeto Hirayama, Kenichiro Nagai, Reiko Seki, Noriko Sato, Kazuki Okuyama, Masashi Hashimoto, Ken Tokunaga, Hitoshi Ishida, Fusako Mikami, Kofi Dadzie Kwofie, Hayato Kawada, Bangzhong Lin, Kazuto Nunomura, Toshio Kanai, Takeshi Hatta, Naotoshi Tsuji, Junichi Haruta, Hideaki Fujii
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Tiruchi Corporation embarks on special drive at night to capture and sterilise street dogs

About 125 stray dogs have been caught and sterilised at Tiruchi animal birth control centres in the last 10 days after the Corporation launched the special drive




cor

Tiruchi Corporation office expansion plan witnesses more delay




cor

Live Cricket Scores, Cricket News, Analysis, Results & More | The Hindu




cor

613: Recording Live Music, WebC, Open Source, & WordPress Studio

Chris bought recording gear off an Instagram ad, our thoughts on WebC, CodePen upgrades Yarn, thoughts on the commercial value of open source, Automattic releases an app to install WordPress locally, IBM buys Hashicorp, income tax software, and a hack for getting Safari to respect background colors used in a pseudo selector.




cor

Looking for unicorns among livestock

Got milk: The rising demand for a healthier, diverse product range is driving the growth of tech-enabled dairy start-ups in India




cor

Investing in companies with ‘indicorn’ potential

Titan Capital backs seed-stage companies with potential to reach ₹100 crore revenue within five years




cor

Corporates look to tread the India Way  

Business leaders are realising that longevity may be a better marker for growth than shareholder value maximisation




cor

In the corridors of power

The author could have shed more light on the workings of power given his long stint in govt




cor

A Match of Many Records

The first One-Day International between India and Sri Lanka witnessed important milestones being set and new records being made.




cor

Kohli surpasses Dravid's run record!

Virat Kohli surpassed Rahul Dravid to become the second highest run-scorer for India in international cricket.




cor

Escorts net up 29% to Rs. 16 cr.




cor

Jet turns around with record Rs 1,212-cr. net profit




cor

Indians score high on well-being at work




cor

Debt private placements hit record high of Rs. 4,92,000 crore in FY16

Total mobilisation six per cent higher than previous financial year




cor

Hyundai Motor India's record ₹27,870 crore IPO fully subscribed

The ₹27,870 crore initial share sale got bids for 14,07,68,187 shares against 9,97,69,810 shares on offer, translating into 1.41 times the subscription, as per NSE data till 13:21 hours




cor

Saidapet-Teynampet elevated corridor project: Highways Dept. removes footpaths on Anna Salai to construct flyover

The removal of the footpaths will help increase the width of the carriageway at points where lanes on either side of the median will be barricaded




cor

Tiruchi Corporation to take up survey of areas without storm-water drains

Storm-water drains proposed to be constructed for a length of 52 km in all 65 wards in the city at a cost of ₹32.50 crore under the Corporation’s General Funds for 2024-25




cor

Telephone cord blister formation in solvent swollen elastomer films

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM01035C, Paper
Open Access
James S. Sharp, Nathaniel M. Roberts, Sam Walker
Telephone cord blister formation is studied in PDMS films swollen in four different solvents. Buckling and fracture mechanics theories are developed to interpret blister morphology and growth rates. A simple surface patterning method is introduced.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Dynamical crossovers and correlations in a harmonic chain of active particles

Soft Matter, 2024, 20,8638-8653
DOI: 10.1039/D4SM00350K, Paper
Subhajit Paul, Abhishek Dhar, Debasish Chaudhuri
We explore the dynamics of a tracer in a harmonic chain of active particles, investigating the influence of interactions. Depending upon the time-scales governed by the interaction and the persistence of activity, we explore crossovers between different scaling behaviors of its dynamics.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Structure affinity of the Langmuir monolayer and the corresponding Langmuir–Blodgett film revealed by X-ray techniques

Soft Matter, 2024, 20,8601-8609
DOI: 10.1039/D4SM01050G, Paper
Alvina V. Alexandrova, Maxim A. Shcherbina, Yuriy L. Repchenko, Yuriy M. Selivantiev, Alexander V. Shokurov, Vladimir V. Arslanov, Sofiya L. Selektor
Using X-ray techniques, crown-substituted chromoionophore Langmuir–Blodgett films were proved to preserve the fine structure and functional features of pre-organized monolayers.
The content of this RSS Feed (c) The Royal Society of Chemistry




cor

Building a Dictaphone Using Media Recorder and getUserMedia

Chris Mills brushes up his shorthand and shows how the MediaStream Recording API in modern browsers can be used to capture audio directly from the user’s device. Inching ever closer to the capabilities of native software, it truly is an exciting time to be a web developer.


The MediaStream Recording API makes it easy to record audio and/or video streams. When used with MediaDevices.getUserMedia(), it provides an easy way to record media from the user’s input devices and instantly use the result in web apps. This article shows how to use these technologies to create a fun dictaphone app.

A sample application: Web Dictaphone

To demonstrate basic usage of the MediaRecorder API, we have built a web-based dictaphone. It allows you to record snippets of audio and then play them back. It even gives you a visualisation of your device’s sound input, using the Web Audio API. We’ll just concentrate on the recording and playback functionality in this article, for brevity’s sake.

You can see this demo running live, or grab the source code on GitHub. This has pretty good support on modern desktop browsers, but pretty patchy support on mobile browsers currently.

Basic app setup

To grab the media stream we want to capture, we use getUserMedia(). We then use the MediaRecorder API to record the stream, and output each recorded snippet into the source of a generated <audio> element so it can be played back.

We’ll first declare some variables for the record and stop buttons, and the <article> that will contain the generated audio players:

const record = document.querySelector('.record');
const stop = document.querySelector('.stop');
const soundClips = document.querySelector('.sound-clips');

Next, we set up the basic getUserMedia structure:

if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
   console.log('getUserMedia supported.');
   navigator.mediaDevices.getUserMedia (
      // constraints - only audio needed for this app
      {
         audio: true
      })

      // Success callback
      .then(function(stream) {

      })

      // Error callback
      .catch(function(err) {
         console.log('The following `getUserMedia` error occured: ' + err);
      }
   );
} else {
   console.log('getUserMedia not supported on your browser!');
}

The whole thing is wrapped in a test that checks whether getUserMedia is supported before running anything else. Next, we call getUserMedia() and inside it define:

  • The constraints: Only audio is to be captured for our dictaphone.
  • The success callback: This code is run once the getUserMedia call has been completed successfully.
  • The error/failure callback: The code is run if the getUserMedia call fails for whatever reason.

Note: All of the code below is found inside the getUserMedia success callback in the finished version.

Capturing the media stream

Once getUserMedia has created a media stream successfully, you create a new Media Recorder instance with the MediaRecorder() constructor and pass it the stream directly. This is your entry point into using the MediaRecorder API — the stream is now ready to be captured into a <Blob>, in the default encoding format of your browser.

const mediaRecorder = new MediaRecorder(stream);

There are a series of methods available in the MediaRecorder interface that allow you to control recording of the media stream; in Web Dictaphone we just make use of two, and listen to some events. First of all, MediaRecorder.start() is used to start recording the stream once the record button is pressed:

record.onclick = function() {
  mediaRecorder.start();
  console.log(mediaRecorder.state);
  console.log("recorder started");
  record.style.background = "red";
  record.style.color = "black";
}

When the MediaRecorder is recording, the MediaRecorder.state property will return a value of “recording”.

As recording progresses, we need to collect the audio data. We register an event handler to do this using mediaRecorder.ondataavailable:

let chunks = [];

mediaRecorder.ondataavailable = function(e) {
  chunks.push(e.data);
}

Last, we use the MediaRecorder.stop() method to stop the recording when the stop button is pressed, and finalize the Blob ready for use somewhere else in our application.

stop.onclick = function() {
  mediaRecorder.stop();
  console.log(mediaRecorder.state);
  console.log("recorder stopped");
  record.style.background = "";
  record.style.color = "";
}

Note that the recording may also stop naturally if the media stream ends (e.g. if you were grabbing a song track and the track ended, or the user stopped sharing their microphone).

Grabbing and using the blob

When recording has stopped, the state property returns a value of “inactive”, and a stop event is fired. We register an event handler for this using mediaRecorder.onstop, and construct our blob there from all the chunks we have received:

mediaRecorder.onstop = function(e) {
  console.log("recorder stopped");

  const clipName = prompt('Enter a name for your sound clip');

  const clipContainer = document.createElement('article');
  const clipLabel = document.createElement('p');
  const audio = document.createElement('audio');
  const deleteButton = document.createElement('button');

  clipContainer.classList.add('clip');
  audio.setAttribute('controls', '');
  deleteButton.innerHTML = "Delete";
  clipLabel.innerHTML = clipName;

  clipContainer.appendChild(audio);
  clipContainer.appendChild(clipLabel);
  clipContainer.appendChild(deleteButton);
  soundClips.appendChild(clipContainer);

  const blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });
  chunks = [];
  const audioURL = window.URL.createObjectURL(blob);
  audio.src = audioURL;

  deleteButton.onclick = function(e) {
    let evtTgt = e.target;
    evtTgt.parentNode.parentNode.removeChild(evtTgt.parentNode);
  }
}

Let’s go through the above code and look at what’s happening.

First, we display a prompt asking the user to name their clip.

Next, we create an HTML structure like the following, inserting it into our clip container, which is an <article> element.

<article class="clip">
  <audio controls></audio>
  <p>_your clip name_</p>
  <button>Delete</button>
</article>

After that, we create a combined Blob out of the recorded audio chunks, and create an object URL pointing to it, using window.URL.createObjectURL(blob). We then set the value of the <audio> element’s src attribute to the object URL, so that when the play button is pressed on the audio player, it will play the Blob.

Finally, we set an onclick handler on the delete button to be a function that deletes the whole clip HTML structure.

So that’s basically it — we have a rough and ready dictaphone. Have fun recording those Christmas jingles! As a reminder, you can find the source code, and see it running live, on the MDN GitHub.


This article is based on Using the MediaStream Recording API by Mozilla Contributors, and is licensed under CC-BY-SA 2.5.


About the author

Chris Mills manages the MDN web docs writers’ team at Mozilla, which involves spreadsheets, meetings, writing docs and demos about open web technologies, and occasional tech talks at conferences and universities. He used to work for Opera and W3C, and enjoys playing heavy metal drums and drinking good beer.

More articles by Chris




cor

Scoring a self goal

Inspired by the free flowing style of the Copa America and the Euro, NIKHIL VARMA decides to give football a try and realises that he is not up for the challenge




cor

Editorial. States score major win on financial freedom

The Supreme Court has ruled that States had a perfect right to tax their minerals




cor

PNB Housing Finance to expand corporate lending portfolio to boost margins, says MD & CEO Kousgi

Confident of sustaining Q2 bottomline growth performance in remaining quarters this fiscal 



  • Money &amp; Banking

cor

ICICI Bank Q2 PAT rises 15% to ₹11,746 crore on strong core income growth

NIM moderated 9 basis points sequentially to 4.27 per cent on higher cost of funds



  • Money &amp; Banking

cor

Record profits: PNB Q2 consolidated net zooms 137% at ₹4,714 crore

On a standalone basis, PNB’s net profit for the quarter under review increased 145 per cent to ₹4,303 crore (₹1,756 crore)



  • Money &amp; Banking

cor

Federal Bank Q2 PAT up 11% on strong core income growth

Bank to sell more stake in associate company Equirus Capital, raise ₹1,500 crore via infra bonds in H2



  • Money &amp; Banking

cor

UPI sets new record, transactions rise to 16.58 billion in October

Festival season spending aided the 45 per cent y-o-y rise in October UPI transactions



  • Money &amp; Banking

cor

Bitcoin hits record high, soars above $75000 amid US election results

Industry experts attribute surge to substantial inflows into exchange-traded funds (ETFs), increased speculation surrounding the election outcomes




cor

The Moccasin Game / directed by: Frank Corcoran ; produced by: Dennis Sawyer ; production agency: National Film Board of Canada (Montreal)

Montreal : National Film Board of Canada, 2019




cor

Kamitshikaut / directed by: Shaushiss Fontaine ; produced by: Manon Barbeau ; production agencies: National Film Board of Canada (Montreal), Corporation Wapikoni mobile (Montreal)

Montreal : National Film Board of Canada, 2023




cor

Alone in the Abyss / directed by: Claudie Ottawa ; produced by: Manon Barbeau, Patricia Bergeron, Manon Barbeau, Yves Bisaillon, Ravida Din ; production agencies: Corporation Wapikoni mobile (Montreal), National Film Board of Canada (Montreal)

Montreal : National Film Board of Canada, 2018




cor

Drugs menace inherited from previous ‘corrupt and criminal’ regime, says A.P. Deputy CM Pawan Kalyan  

Tagging his post on X to the office of the Union Home Minister, Pawan Kalyan calls for a special focus to check drug mafia, ganja cultivation, and related criminal activities in the State




cor

2,500 online courses in two years, a record feat by 51-year-old Srikakulam man

He wanted to highlight the need for students to acquire more knowledge and the availability of abundant free resources, says M.V.V.S. Sastry




cor

Andhra Pradesh government releases list of 62 persons nominated to various corporations

Chaganti Koteswara Rao and Mohammad Shareef have been appointed Advisers in the Cabinet rank on Ethics and Values, and Minority Affairs respectively




cor

Maharashtra elections 2024: Shinde-led Mahayuti government perceived as high on corruption, not bad on performance

Two in five (42%) voters believed that corruption had increased under the Mahayuti government.




cor

Deepavali: KSRTC sets record with ₹5 crore in online ticket sales; 85,462 bookings in a day, highest since 2006 launch

According to KSRTC officials, major routes that saw high demand included popular destinations from Bengaluru such as Davangere, Mysuru, Hubballi, Tirupathi, Shivamogga, and Kalaburagi 




cor

Career in Corporate Communications

For those with a penchant for creating brand-led stories, Corporate Communications has become a key driver of business success.